원격 저장소에서 협업하기

SeungJoo
|2023. 9. 30. 16:23
728x90

GIT 커밋을 관리하는 방식 -> 줄줄이 소세지

그림처럼 줄줄이 소세지처럼 시간순으로 계속 쌓이게됩니다.

 

한 명이 작업한다면 위의 그림처럼 한 줄로 계속 커밋을 쌓아 가지만 한명이 아닌 여러명으로 커밋하게 된다면 아래의 그림처럼 두갈래로 나뉘게 됩니다.

두갈래로 나뉘는 것을 브랜치라고 합니다. 둘 다 커밋을 9/3기준으로 커밋을 만들려고 한다면 오류가 생깁니다.

(원격 저장소에 먼저 푸시한 커밋은 정상적으로 올라가고 뒤늦게 푸시한 다른 커밋은 낡은 코드에 푸시한다며 최신 코드에 푸시하라는 오류가 발생합니다.)

 

Main 브랜치가 있는 상황에서 Detail 브랜치를 만들면 동일하게 09/3(커밋)을 가리키게 되며 09/04(커밋)이 생기면 Detail 브랜치는 Main브랜치의 앞인 09/04(커밋)을 가리키게 됩니다. 이렇게 브랜치를 두개로 나눔으로써 버전이 눈에 띄게 갈라진 것을 확인할 수 있습니다. 

 

HEAD

HEAD 가 있으면 Main과 Dtail 브랜치 사이를 넘나들 수 있게됩니다. 

HEAD는 브랜치 혹은 커밋을 가리키는 포인터이며 타임머신(최신뿐 아닌 과거 커밋으로도 HEAD 이동이 가능) 이라고 말할 수 있습니다. 브랜치의 포인터와 HEAD가 떨어져 있게되면 Detached HEAD 상태가 됩니다.

728x90

'GIT' 카테고리의 다른 글

Git 기초  (0) 2023.10.28
Git & Github 협업하기  (1) 2023.10.24
git 한번에 이해하기  (0) 2023.09.27