什麼是 head?
我們在 commit 版本時,其實是將檔案 commit 到一條 branch(分支) 上,而 head 指的就是「現在檔案的 branch 和版本的位置」(白話意思就是現在的檔案是哪條 branch 上的哪個版本)
假設目前 branch 只有 master 這條分支,而 head 位置在 v4 上,但現在 v4 的 code 修改壞了!需要回到上一個版本查看該怎麼做呢?
沒錯!就是把 head 移到 v3 的位置就可以了。
講解完什麼是 head 後,來看看如何用指令移動 head 吧!
首先,想要移動 head 前,我們可以先使用以下指令確認 head 目前的位置在哪裡:
Linux、macOS 用法
cat .git/HEAD
Windows 用法
type .git\HEAD
輸入以上指令後會得到下圖的回饋
這段回饋的意思是 head 現在指到的位置為 master 這條分支,但這樣我們還是不知道指到的版本在哪裡,所以這時就要使用到 git log
這個指令了!
透過 git log
這個指令就可以查詢到之前 commit 的 SHA-1 編號,透過這個編號就可以讓 head 移動到指定的版本了!
git checkout <指定 commit SHA-1>
這樣就從原本的 v2
版切換到 add main.py
版了!
若想要回到最新版本的話,不需要像上面一樣先查詢 commit 的 SHA-1 編號,只要輸入以下指令就可以直接將 head 移動到最新版本囉!
git checkout master