Git | 깃과 브랜치

파과·2022년 9월 25일
0

Git

목록 보기
5/8

브랜치 기능

깃으로 버전관리를 시작하면 기본적으로 master라는 브랜치가 만들어진다. 마스터 브랜치에서 새 브랜치를 만드는 것을 분기(branch)한다고 한다.

분기했던 브랜치를 master 브랜치에 합치는 것을 병합(merge)한다고 한다.

새 브랜치 만들기

$ git branch (브랜치 이름) 깃에서 새 브랜치를 만들거나 확인한다.

$ git log --oneline 한 줄에 한 커밋씩 로그 보기

최신 커밋이 master브랜치에만 적용된다.

다른 브랜치로 이동해보자.

$ git checkout apple apple 브랜치로 이동(체크아웃)한다.

여기서
$ git log --oneline 명령을 사용하면 현재 브랜치의 커밋 로그를 확인하게 된다.

새 브랜치에서 커밋하기

$ git add . 현재 저장소에서 수정된 파일들을 한꺼번에 스테이지에 올릴 수 있다.

$ git log --oneline --branches 각 브랜치의 커밋을 함께 볼 수 있다.

$ git log --oneline --branches --graph 브랜치와 커밋의 관계를 그래프 형태로 볼 수 있다.

브랜치 사이의 차이점 알아보기

$ git log master..apple master과 apple브랜치 사이의 차이점을 확인한다. 브랜치명과 마침표 사이에는 공백이 없게 한다.

중요한 점!!
$ git log A..B A에는 없고 B에만 있는 커밋을 보여준다.
$ git log B..A B에는 없고 A에만 있는 커밋을 보여준다.

브랜치 병합하기

$ git init manual-2 "manual-2"라는 이름의 저장소 만들고 초기화까지 한번에.

o2 브랜치의 내용을 master브랜치로 병합해 보자. 먼저 master 브랜치로 체크아웃한다.
$ git checkout master

$ git merge o2 master 브랜치에 o2 브랜치를 가져와 병합한다.

브랜치를 병합할 때 편집기 창이 열리지 않게 하려면

$ git merge o2 --no-edit 편집기 창을 열지 않고 깃에서 지정하는 커밋 메시지를 그대로 사용한다.

$ git merge o2 --edit 커밋 메시지를 추가하거나 수정하고 싶을 때 병합 명령에 --edit을 사용한다.

같은 문서의 다른 위치를 수정했을 때 병합하기

→ 자동으로 하나로 합쳐 준다.

같은 문서의 같은 위치를 수정했을 때 병합하기 : 브랜치 충돌(conflict) 발생과 해결

master 브랜치로 체크아웃한 뒤 o2 브랜치를 master 브랜치로 끌어와보자.
$ git checkout master
$ git merge o2

자동 병합(Merge)에 실패한다. 파일을 열어보자.
$ vim work.txt

원하는 대로 내용을 수정한다. 수정한 work.txt를 스테이지에 올리고 커밋한다.

병합 끝난 브랜치 삭제하기

$ git branch -d o2

브랜치 관리하기

커밋하지 않은 수정 내용을 어딘가에 보관하려면 $ git stash 명령을 사용한다.

stash 명령 뒤에 pop을 추가하면 stash 목록에서 가장 최근 항목을 되돌린다.

$ git stash pop

0개의 댓글