특정 Commit 포인트 및 브랜치 간 이동을 할 수 있는 기능이다.
Checkout
기능으로 이곳저곳을 이동할 수 있는데, 현재 내가 위치한 형상을 HEAD
라고 한다.
또한 현재 HEAD가 위치한 브랜치를 HEAD Branch
라고 한다.
또한 $ git reflog
명령어를 실행하면 HEAD의 발자취를 확인할 수 있다.
# HEAD 이동
$ git checkout <branch-name>
$ git checkout <commit-number>
$ git checkout HEAD@{number}
$ git checkout <tag-name>
# Example
$ git branch
master
* Branch_A
Branch_B
$ git checkout Branch_B
$ git branch
master
Branch_A
* Branch_B
# 브랜치 생성 및 HEAD 이동
$ git checkout -b <branch-name>
# Example
$ git branch
master
Branch_A
* Branch_B
$ git checkout -b Branch_C
$ git branch
master
Branch_A
Branch_B
* Branch_C
으로 Checkout
하면 Branch 간 전환이 수행된다.
그외 인자로 Checkout
하면 별도의 임시 브랜치가 생성되어 전환된다.
Branch로
Checkout
하는 것도 사실 해당 Branch의 최신 Commit 포인트로 이동하는 것이다.
주의사항
현재 작업을 진행 중이라 Changes가 발생한 상황이라면,
반드시 현재 Changes를 Commit 포인트로 기록한 후 Checkout을 해야 한다.