設定和配置
獲取和建立專案
基本快照
分支與合併
共享和更新專案
檢查和比較
打補丁
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
-
2.52.0
2025-11-17
- 2.51.2 無變更
-
2.51.1
2025-10-15
- 2.39.1 → 2.51.0 無更改
-
2.39.0
2022-12-12
- 2.15.4 → 2.38.5 無更改
- 2.14.6 無更改
- 2.7.6 → 2.13.7 無更改
-
2.6.7
2017-05-05
- 2.2.3 → 2.5.6 無更改
-
2.1.4
2014-12-17
-
2.0.5
2014-12-17
描述
從標準輸入讀取補丁並計算其補丁 ID。
“補丁 ID”不過是與補丁關聯的檔案 diff 的 SHA-1 之和,忽略行號。因此,它“相當穩定”,但同時又相當唯一,即具有相同“補丁 ID”的兩個補丁幾乎可以肯定相同。
此命令的主要用例是查詢可能重複的提交。
當處理 git diff-tree 輸出時,它利用補丁字首是提交的物件名稱這一事實,並輸出兩個 40 位元組的十六進位制字串。第一個字串是補丁 ID,第二個字串是提交 ID。這可用於從補丁 ID 建立到提交 ID 的對映。
選項
--verbatim-
按照原樣計算輸入的補丁 ID,不去除任何空格。
如果
patchid.verbatim為true,則這是預設設定。 --stable-
使用“穩定”的雜湊之和作為補丁 ID。使用此選項,
-
構成補丁的檔案 diff 的重排不會影響 ID。特別是,透過使用兩個不同的
-O<orderfile> 設定比較同一棵樹而產生的兩個補丁會得到相同的補丁 ID 簽名,從而允許將計算結果用作索引更改兩個樹之間一些元資訊的鍵; -
結果與 git 1.9 及更早版本產生的值不同,或者當配置了“不穩定”雜湊(請參閱下面的
--unstable)時產生的值不同 - 即使在使用不帶任何-O<orderfile> 的 diff 輸出上使用,從而使儲存此類“不穩定”或歷史補丁 ID 的現有資料庫無法使用。 -
補丁中的所有空格都將被忽略,不會影響 ID。
如果
patchid.stable設定為true,則這是預設設定。 -
--unstable-
使用“不穩定”雜湊作為補丁 ID。使用此選項,生成的結果與 git 1.9 及更早版本生成的補丁 ID 值相容,並且會忽略空格。擁有儲存 git 1.9 及更早版本生成的補丁 ID 的預先存在的資料庫(不處理重排的補丁)的使用者可能希望使用此選項。
這是預設設定。