Git & GitHub 공부 - Day 1

surra77·2024년 1월 23일
0

Git & GitHub 란?

Git 이란

분산 버전관리 시스템 (Distributed VCS)의 대표적인 한 종류로 소스코드를 효율적으로 다룰 수 있게 만들어 주는 시스템이다

VCS란?
파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템을 의미

vcs를 사용하면 선택한 파일을 이전 상태로 되돌리거나, 변경 사항을 비교할 수 있고, 변경한 사람 및 변경 시기를 추적할 수 있음
또한, 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있음

Git vs GitHub

  • Git은 로컬 버전 관리 시스템
    - 인터넷이 연결되지 않는 환경에서 사용
    - 다른 개발자와의 작업 공유가 어려움
  • GitHub는 웹 기반 버전 관리 시스템
    - 클라우드 서버에 소스 코드를 업로드하여 공유 가능
    - 분산 버전 제어, 액세스 제어, 소스 코드 관리, 버그 추적, 기능 요청 및 작업 관리 등 git에서는 제공하지 않는 서비스들을 제공

Git 초기 설정과 프로젝트 관리 시작

Git 초기 설정

  • user.name과 user.email 설정
git config --global user.name "원하는이름"
git config --global user.email "이메일주소"

GitHub에 설정한 이름과 이메일로 설정해야지 push했을 때 잔디가 심어진다..
나는 다르게 설정했었어서 그동안 잔디가 심어지지 않았던 것..ㅜ

  • 설정된 이름과 이메일 확인
git config --global user.name
git config --global user.email
  • 기본 브랜치를 main으로 변경
    아래와 같이 git config --list를 하면 내가 설정한 값들이 나오는데 여기서 init.defaultbranch가 master로 설정이 되어 있으면 main으로 바꿔줘야 한다

    아래와 같이 설정하면 된다
git config --global init.defaultBranch main

프로젝트 관리 시작

git init을 해주면 로컬 저장소를 생성하고 이제 git에서 해당 폴더를 관리하기 시작함
이때 해당 폴더에 숨겨진 파일을 열면 (command + shift + '.') .git이라는 폴더가 생성되어 있음
이 파일에 git 로그나 기록들이 다 저장됨!


git status & add

git status

폴더에 새로운 파일을 생성하고 git status를 하면 아래와 같이 생성한 파일이 빨간색으로 나오며 Untracked 상태에 있다고 나옴

git add

그 다음 git add를 해주고 다시 git status를 하면 파일이 초록색으로 변하고 커밋을 할 수 있는 staged 상태로 변함


.gitignore 파일

개인 정보가 들어있거나 보안상 git에 올리면 안되는 특정 파일이나 폴더를 git으로 관리되지 않게 설정 할 수 있다

  • .gitignore 파일과 admin.yaml 파일을 생성
    이때 admin.yaml에는 개인 정보가 들어있어서 git에 올리면 안됨

  • .gitignore 파일에 admin.yaml이라고 작성 후 다시 git status를 확인하면 admin.yaml은 git의 관리 목록에 나오지 않음

자동으로 .gitignore 파일을 만들어주는 사이트

gitignore.io

보안상 올리면 안되는 폴더 외에도 기본적으로 갖고있는 라이브러리나 굳이 깃에 올리지 않아도 되는 파일들이 있음
위 사이트는 특정 언어나 프레임 워크를 적으면 알아서 .gitignore에 들어갈 내용들을 생성해 줌


commit 하기

  • git add . 으로 모든 파일들을 add해준 다음 git commit -m "커밋메시지"으로 커밋을 해줌

  • git log로 로그를 확인하면 커밋한 내용과 시간 등 정보를 확인 할 수 있음

    로그가 길면 'q'를 눌러 로그를 나올 수 있음

  • git log --oneline을 하면 좀더 간결한 형태로 로그를 볼 수 있음


실습

  • 수정한 파일과 삭제한 파일은 각각 staged 상태로 modefied와 deleted라고 되어있고 새로 만든 파일은 untracked 상태에 있음

  • 이때 git diff를 하면 수정한 내용들을 볼 수 있음

  • add와 커밋을 한 후 로그를 확인 하여 잘 커밋이 되었음을 확인


Sourcetree 사용하기

소스트리를 사용하면 커밋한 기록을 편하게 볼 수 있음

profile
개발자 준비생

0개의 댓글