簡體中文 ▾ 主題 ▾ 最新版本 ▾ git-patch-id 上次更新於 2.52.0

名稱

git-patch-id - 計算補丁的唯一 ID

概要

git patch-id [--stable | --unstable | --verbatim]

描述

從標準輸入讀取補丁並計算其補丁 ID。

“補丁 ID”不過是與補丁關聯的檔案 diff 的 SHA-1 之和,忽略行號。因此,它“相當穩定”,但同時又相當唯一,即具有相同“補丁 ID”的兩個補丁幾乎可以肯定相同。

此命令的主要用例是查詢可能重複的提交。

當處理 git diff-tree 輸出時,它利用補丁字首是提交的物件名稱這一事實,並輸出兩個 40 位元組的十六進位制字串。第一個字串是補丁 ID,第二個字串是提交 ID。這可用於從補丁 ID 建立到提交 ID 的對映。

選項

--verbatim

按照原樣計算輸入的補丁 ID,不去除任何空格。

如果 patchid.verbatimtrue,則這是預設設定。

--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 的預先存在的資料庫(不處理重排的補丁)的使用者可能希望使用此選項。

這是預設設定。

GIT

Git[1] 套件的一部分