?
This document uses PHP Chinese website manual Release
git-patch-id - 計(jì)算補(bǔ)丁的唯一 ID
git patch-id [--stable | --unstable]
從標(biāo)準(zhǔn)輸入中讀取補(bǔ)丁并為其計(jì)算補(bǔ)丁 ID。
“補(bǔ)丁ID”只不過(guò)是與補(bǔ)丁相關(guān)的文件差異的 SHA-1之和,忽略空白和行號(hào)。因此,它“相當(dāng)穩(wěn)定”,但同時(shí)也是相當(dāng)獨(dú)特的,即具有相同“補(bǔ)丁ID”的兩個(gè)補(bǔ)丁幾乎保證是相同的東西。
IOW,你可以使用這個(gè)東西來(lái)尋找可能的重復(fù)提交。
在處理git diff-tree
輸出時(shí),它利用了補(bǔ)丁前綴為提交的對(duì)象名稱(chēng)并輸出兩個(gè)40字節(jié)的十六進(jìn)制字符串的事實(shí)。第一個(gè)字符串是補(bǔ)丁ID,第二個(gè)字符串是提交ID。這可以用來(lái)制作從補(bǔ)丁ID到提交ID的映射。
--stable
使用“穩(wěn)定”的哈希總和作為補(bǔ)丁 ID。有了這個(gè)選項(xiàng):
重新排序組成補(bǔ)丁的文件差異不會(huì)影響ID。特別是,通過(guò)將相同的兩棵樹(shù)與“-O <orderfile>”的兩個(gè)不同設(shè)置進(jìn)行比較而產(chǎn)生的兩個(gè)補(bǔ)丁導(dǎo)致相同的補(bǔ)丁ID簽名,從而允許計(jì)算結(jié)果用作索引關(guān)于兩棵樹(shù)之間的變化;
結(jié)果與 git 1.9及更早版本產(chǎn)生的值不同,或者當(dāng)配置了“unstable”散列(請(qǐng)參閱下面的--unstable)時(shí)產(chǎn)生的值 - 即使在不使用“-O <orderfile>”的情況下使用差異輸出時(shí),從而使現(xiàn)有數(shù)據(jù)庫(kù)存儲(chǔ)這種“不穩(wěn)定”或歷史補(bǔ)丁ID不可用。
如果 patchid.stable 設(shè)置為 true,這是默認(rèn)值。
--unstable
使用“unstable”散列作為修補(bǔ)程序ID。使用此選項(xiàng),產(chǎn)生的結(jié)果與 git 1.9及更早版本生成的 patch-id 值兼容。預(yù)先存在的數(shù)據(jù)庫(kù)存儲(chǔ)由 git 1.9及更高版本(不涉及重新排序的補(bǔ)?。┥傻难a(bǔ)丁id的用戶可能需要使用此選項(xiàng)。
This is the default.