DEVOPS/GIT

[Git] git branch 생성, 확인, 이동

연듀 2021. 10. 21. 22:09

 

로컬 레퍼지토리를 만들고 branch.html 파일을 추가해 커밋한다.

 

 

branch 생성

 

$git branch [새로 만들 브랜치 이름]

 

원하는 이름의 브랜치를 생성한다.

 

 

브랜치 확인 

 

$git branch

 

브랜치 목록을 확인한다.

현재의 branch에 *표기가 되어있다. 지금은 master 브랜치이다.

 

 

$git rev-parse [브랜치이름]

 

현재 브랜치가 어떤 commit ID(해시값)을 가리키는지 확인

 

현재 같은 커밋 id를 가리키는 것을 볼 수 있다.

 

git log로 커밋 로그를 확인해보면 HEAD 포인터가 master와 footer 브랜치를 참조한다.

 

 

$git branch -v

 

branch이름, commitID, commit 메세지를 확인

 

 

branch 이동

 

$git checkout [이동할 브랜치이름]

 

 

 

 

$git checkout -

 

이전 브랜치로 이동

 

 

 

checkout을 사용하여 브랜치를 이동할때는 현재 작업하고 있는 working directory를 정리해야 한다.

branch.html 변경사항을 commit하지 않고 checkout을 하려하면 경고가 발생한다.

다시 돌아와 master 브랜치에서 커밋을 한 후에는 footer로 checkout이 잘된다.

 

 

 

 

branch 공간

$git log --graph --all

 

로그를 출력할 때 branch 흐름을 같이 볼 수 있다. 

 

이 때 위에서 footer 브랜치로 체크아웃 했기 때문에 HEAD 포인터가 footer 브랜치를 가리키고 있다.

HEAD 포인터는 항상 변경된 브랜치의 마지막 commit을 참조한다.

브랜치가 이동하면 HEAD 포인터도 함께 이동한다.

 

 

기존의 현재 브랜치는 footer였다.

HEAD 포인터는 footer의 가장 마지막 commit을 참조했다.

브랜치를 master로 변경 한 후에는, HEAD 포인터는 master의 가장 마지막 commit을 참조한다.

 

 

 

생성과 이동

 

$git checkout -b [브랜치이름]

 

branch 생성과 이동을 한번에 처리

 

 

$git checkout [commitID]

 

branch의 commit ID를 사용하여 checkout