Git 개념과 작동방식

dohun2·2023년 2월 12일
post-thumbnail

Git이란?

  • 분산 버전관리 시스템 > 소스코드를 여러 개발 PC와 저장소에 분산해서 저장

사용 시 장점

  • 소스 코드를 주고 받을 필요 없이 같은 파일을 여러명이 동시에 개발 가능
  • 로컬저장소에 히스토리가 유지되기 때문에 인터넷이 연결되지 않아도 일단 개발 가능
  • 속도가 빠르다. 각각의 개발PC가 서버가 되어 중앙 서버의 일이 줄어들기 때문이다.

명령어

  • git add <파일명> : 커밋에 단일 파일의 변경 사항을 포함시킨다.

  • git commit -m ‘메세지’ : 커밋을 생성한다.

  • git branch <브랜치 이름> : 브랜치를 생성한다.

  • git checkout <브랜치 이름> : 브랜치를 이동한다. -b 옵션 사용시 생성 후 이동한다.

  • git switch <브랜치 이름> : 브랜치를 이동한다. -c 옵션 사용시 생성 후 이동한다.

  • git push <저장소명> <브랜치명> : 브랜치에서 작업한 코드를 저장소에 올린다.

  • git pull : 원격 저장소의 변경 내용이 현재 디렉토리에 가져와지고(fetch) 병합(merge)한다.

  • git remote : 현재 연결된 원격 저장소명을 조회한다.

  • git init : 깃 저장소를 초기화한다. 입력시 디렉토리에 .git 파일이 생성되면서 git 사용이 가능해진다.

  • git help : 사용가능한 명령어가 나타난다.

  • git status : 현재 깃 저장소의 상태를 보여준다.

  • git clone : 원격 저장소 > 로컬로 소스 코드를 가져온다.

  • git log : 현재 위치한 브랜치 커밋 내용을 확인한다.

git workflow

출처: https://velog.io/@lucasonestar/Git-work-flow-Fundamental-Command

  1. working directory에서 파일을 수정한다.
  2. git add 명령어를 통해 파일을 등록하면 staging area에서 깃이 파일의 변화를 감시한다.
  3. 감시하고 있던 파일을 git commit 명령어를 통해 로컬 저장소에 커밋
  4. git push 명령어로 로컬 저장소에서 원격 저장소로 보낸다.

git add, git commit 내부동작

  • Git의 내부모습

  • Working directory에 파일을 생성하고 git add a.py로 a.py를 Staging Area로 보낸 모습

  • git add . 으로 모든 파일을 Staging Area로 보내고 a.py 파일을 수정한 모습
  • Staging Area에 있는 파일을 수정시 Tracked로 git이 파일의 변화를 추적함

  • git commit으로 b.py와 c.py를 .Git directory로 보냄

  • git add 와 git commit 을 이용해 a.py를 .Git directory로 보냄

출처: https://june98.tistory.com/23

0개의 댓글