Git - 용어 정리

temp·2022년 8월 31일

Git

목록 보기
2/2

(참조)Git-기본용어 및 CLI

커밋 (commit)

  • 프로젝트 디렉토리의 특정 모습을 하나의 버전으로 남기는 행위 & 결과물.

레포지토리 (repository)

  • 커밋이 저장되는 곳.
  • .git (directory)

untracted

  • 아직 깃에 의해 추적되고 있지 않음. 버전 관리의 대상이 아님.

add

  • 커밋할 파일 지정. 수정된 파일의 모습이 커밋에 포함될 것이라고 지정하는 것.

working directory

  • 작업을 하는 프로젝트 디렉토리

staging area

  • git add 를 한 파일들이 존재하는 영역.
  • 커밋을 하게 되면 staging area에 있는 파일들만 커밋에 반영됨.

git의 3가지 작업영역

포인터

  • 어떤 커밋을 직접적으로 가리키는 존재 (branch)

Detached HEAD 상태

  • 브랜치를 통해서 커밋을 가리키는 게 아니라 본인이 직접 커밋을 가리키고 있는 상태의 HEAD
  • git checkout [commit ID 4자리]

HEAD와 branch의 관계

  • HEAD는 사실 엄밀하게 말하면 branch를 가리키는 것이고,

  • branch를 이동하게 될 경우 HEAD가 가리키는 branch가 달라지고 그 branch가 가리키는 커밋을 간접적으로 가리키게 되는 것.

  • 각각의 branch에서 다른 작업을 하고 있을 경우 결과적으로 HEAD가 가리키는 커밋이 달라지게 됨.

  • 특정 커밋을 시작점으로 하는 새로운 branch를 만들고 싶을 때 HEAD를 잠시 Detached HEAD 상태로 두었다가 branch를 생성하고 커밋.

    *참고 : https://www.codeit.kr/learn/2930

merge

merge commit

1. Fast-forward 머지

  • 커밋 히스토리에서 같은 선(line) 상에 있는 브랜치를 머지할 때 발생
  • 새로운 커밋이 생기는 게 아니라 단지 브랜치가 이동함

2. 3-way 머지

  • 두 브랜치가, 커밋 히스토리 상에서 분리된 2개의 선에 각각 존재할 때 머지를 하면 머지 커밋이 새롭게 생김
  • 1, 2, 3 표시한 3가지 커밋을 고려해서 머지
  • base에서 변화가 발생한 것을 우선 채택
  • 두 브랜치에서 다 base와의 변화가 있을 때 Conflict 발생

profile
공부한 내용 정리중...

0개의 댓글