
額外功能
Note
Note(註釋)允許您附加額外訊息或註釋附加到 Git 物件(Commit, Tag, 或 Tree),用於提供解釋和參考。
新增 Note。
git notes add <Git SHA-1 ID>
git notes add -m '<Note 註解>' <Git SHA-1 ID>
git notes add
: 使用預設編輯器編輯 Note
git notes add -m
: 直接編輯 Note


查看 Note。
git notes show <Git SHA-1 ID>
git log --show-notes


Tag
Tag (標籤)用於標記 Git Commit 歷史中重要的里程碑。例如:對外發布、版本變更或重要 Commit。
新增 Note。
git tag <Tag 名稱>
git tag <Tag 名稱> <Git SHA-1 ID>


查看 Tag。
git log --oneline

新增含註解的 Tag。 (例如: 標籤製作者、電子郵件、日期、註解...)
git tag -a <Tag 名稱> -m "<Tag 註解>"
git tag -a <Tag 名稱> <Git SHA-1 ID> -m "<Tag 註解>"


修改 Tag 指向。 (當設置錯誤的 Commit 時)
git tag -f <Tag 名稱> <Git SHA-1 ID>


查看指定 Tag Commit。
git show <Tag 名稱>

刪除Tag。
git tag -d <Tag 名稱>
您使用將更改 Push 到 Remote repository 時,不會自動推送 Tag。您需要明確指定選項
--tags
。
git push --tags
Alias
Alias(別名) 功能允許您為常用的 Git 命令建立自定義的縮寫,從而幫助您節時間。
無需鍵入整個命令,您只需使用別名即可獲得相同的結果。可讓您的 Git 體驗更高效並根據您的特定需求量身定制。
建立別名。 (同一命令可以建立多筆 Alias)
git config --global alias.<別名> <git 指令>
git config --global alias.st status
git config --global alias.bc checkout -b
git config --global alias.cb checkout -b
git config --global alias.cam 'commit -a -m'
git config --global alias.nx 'log --name-only --oneline'
開啟設定打查看或編輯。(使用預設編輯器打開)
git config --edit --global

進階 Log
建立更好看的 log 別名。
紅色 Git SHA-1 ID,黃色 Tag 名稱, 綠色 Commit Time, Commit 作者
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset-%C(yellow)%d%Creset %s %Cgreen(%cr) %C(yellow)<%an>%Creset' --abbrev-commit"
git lg


使用條件查找 Log 。(包含特定字串、Commit 作者...)
git lg -S<字串>
git lg --committer="<Commit 作者>"
git lg --since='<時間> <時間單位>'
<時間單位>
: minute, hour, day, week, month, year

Diff
比對尚未進入 Staging area 的檔案的差異。或是指定比對。
git diff
git diff <檔案名稱>
git diff <Git SHA-1 ID>
git diff <Git SHA-1 ID> <Git SHA-1 ID>
git diff <Branch 名稱> <Branch 名稱>
--cached
: 比對已進入 Staging area 的檔案。
---stat
: 僅顯示差異摘要。
>*.txt
: 將比對結果輸出為文字檔。

Blame
找出文件每一行的作者。它提供文件的逐行註釋,Commit 、作者姓名和每行的最後修改日期。
git blame <檔案>

Bisect
bisect(二進制搜索) 可幫助您找到錯誤的(壞的) Commit,並回復未修改前的(好的) Commit。 它透過 Commit 歷史執行二進制搜索,縮小可能的 Commit 範圍來定位錯誤的 Commit。


在每個步驟中,會消除剩餘一半的 Commit,讓您可以高效地定位有問題的Commit。它自動縮小錯誤的 Commit 的範圍。
啟動 bisect。
git bisect start
git bisect good <已知的壞的 Git SHA-1 ID> <已知的好的 Git SHA-1 ID>
此時,您需要檢查或運行程式碼並確定錯誤是否存在。 (Git 會自動 Checkout Commit 供您測試)
將當前 Commit 標記為好的或壞的。
git bisect good
git bisect bad
找到問題壞的 Commit時,退出 bisect。
git bisect reset
參考資料
Who Broke My Test? A Git Bisect Tutorial | Sumo Logic
Last updated
Was this helpful?