짱짱해커가 되고 싶은 나

04. Git 본문

Web

04. Git

동로시 2021. 3. 27. 00:11

git은 나무 모양을 하고 있는데 가장 처음 한 커밋을 root commit이라고 하고, 이 루트 커밋을 기준으로 나뭇가지가 갈라진 모양이다. (branch)

branch : 하나의 코드 관리 흐름, 프로젝트에 대한 버전으로 볼 수 있다.

마스터 브랜치 : 레포지토리를 만들고 커밋을 하면 자동으로 생기는 브랜치(기본 브랜치)

 

branch : 어떤 커밋을 가리키는 존재(포인터), 커밋은 이전 커밋의 정보를 갖고 있기 때문에 이전 커밋으로 이동할 수 있고 따라서 branch로 흐름을 관리 할 수 있는 것이다.

head : 어떤 커밋을 가리키는 존재(포인터), head는 branch를 가리키는 것으로 간접적으로 커밋을 가리키는 것이다.

 

git branch 브랜치이름 : 브랜치 생성

git checkout 브랜치이름 : 브랜치 이동

-> head가 커밋을 직접 가리키도록 바꿀 수 있다. (Detached HEAD)

-> 이 상태에서 branch를 추가하고 checkout을 하면 head가 새로 생긴 브랜치를 가리키게 된다.

git checkout -b 브랜치 이름 : 브랜치 생성 및 해당 브랜치로 이동

git branch : 모든 브랜치 조회

git branch -d 브랜치이름 : 브랜치 삭제

git merge 브랜치이름 : 현재 브랜치에 다른 브랜치 머지

(헤드가 가리키던 커밋에 다른 브랜치가 가리키던 커밋을 합쳐서 새로운 커밋을 만드는 것)

-> conflict가 발생할 수 있다.

-> conflict가 발생한 부분을 원하는 코드로 생성하고 commit하면 해결

git merge -abort : 머지 취소

 

fast-forward merge : 새로운 커밋이 생기는 게 아니라 브랜치가 이동하게 되는 머지 (같은 라인일 경우)

3-way merge : 공통 + 머지1 + 머지2 커밋 (다른 라인일 경우)

-> base를 기준으로 달라진 부분을 우선으로 커밋한다.

 

<<<<< HEAD : 현재 브렌치에서 수정한 부분

======== 구분

>>>>> master : 마스터 브랜치에서 수정한 부분

 

 

'Web' 카테고리의 다른 글

05. Git  (0) 2021.03.28
03. Git  (0) 2021.03.26
02. GitHub  (0) 2021.03.26
01. Git  (0) 2021.03.25
[HTML/CSS] 쇼핑몰 구현  (0) 2021.03.09
Comments