Page cover

額外功能

Note


Note(註釋)允許您附加額外訊息或註釋附加到 Git 物件(Commit, Tag, 或 Tree),用於提供解釋和參考。

  1. 新增 Note。

SHELL
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

選擇 Commit
新增 Note
  1. 查看 Note。

notes show
--show-notes

Tag


Tag (標籤)用於標記 Git Commit 歷史中重要的里程碑。例如:對外發布、版本變更或重要 Commit。

  1. 新增 Note。

選擇 Commit
新增 Tag
  1. 查看 Tag。

  1. 新增含註解的 Tag。 (例如: 標籤製作者、電子郵件、日期、註解...)

新增 Tag
查看 Tag
  1. 修改 Tag 指向。 (當設置錯誤的 Commit 時)

修改 Tag
查看 Tag
  1. 查看指定 Tag Commit。

  1. 刪除Tag。

  1. 您使用將更改 Push 到 Remote repository 時,不會自動推送 Tag。您需要明確指定選項--tags

Alias


Alias(別名) 功能允許您為常用的 Git 命令建立自定義的縮寫,從而幫助您節時間。

無需鍵入整個命令,您只需使用別名即可獲得相同的結果。可讓您的 Git 體驗更高效並根據您的特定需求量身定制。

  1. 建立別名。 (同一命令可以建立多筆 Alias)

同一命令可以建立多筆 Alias。多個參數必須使用: " " or ' '。

  1. 開啟設定打查看或編輯。(使用預設編輯器打開)

進階 Log


  1. 建立更好看的 log 別名。 紅色 Git SHA-1 ID,黃色 Tag 名稱, 綠色 Commit Time, Commit 作者

原始 log
修改後的 log
  1. 使用條件查找 Log 。(包含特定字串、Commit 作者...)

<時間單位>: minute, hour, day, week, month, year

Diff


  1. 比對尚未進入 Staging area 的檔案的差異。或是指定比對。

--cached: 比對已進入 Staging area 的檔案。

---stat: 僅顯示差異摘要。

>*.txt: 將比對結果輸出為文字檔。

-紅色標記: 刪除。 + 綠色標記: 新增。 黃色標記: 修改。

Blame

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

Bisect

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

在每個步驟中,會消除剩餘一半的 Commit,讓您可以高效地定位有問題的Commit。它自動縮小錯誤的 Commit 的範圍。

  1. 啟動 bisect。

  1. 此時,您需要檢查或運行程式碼並確定錯誤是否存在。 (Git 會自動 Checkout Commit 供您測試)

  2. 將當前 Commit 標記為好的或壞的。

  1. 找到問題壞的 Commit時,退出 bisect。

參考資料


利用git diff 來為版本控制專案找出差異

Who Broke My Test? A Git Bisect Tutorial | Sumo Logic

使用 Git Bisect 快速找到第一個有問題的 Commit | Puck's Blog

Puck's Blog

Last updated

Was this helpful?