©
本文档使用
php.cn手册 发布
git-patch-id - 计算补丁的唯一 ID
git patch-id [--stable | --unstable]
从标准输入中读取补丁并为其计算补丁 ID。
“补丁ID”只不过是与补丁相关的文件差异的 SHA-1之和,忽略空白和行号。因此,它“相当稳定”,但同时也是相当独特的,即具有相同“补丁ID”的两个补丁几乎保证是相同的东西。
IOW,你可以使用这个东西来寻找可能的重复提交。
在处理git diff-tree
输出时,它利用了补丁前缀为提交的对象名称并输出两个40字节的十六进制字符串的事实。第一个字符串是补丁ID,第二个字符串是提交ID。这可以用来制作从补丁ID到提交ID的映射。
--stable
使用“稳定”的哈希总和作为补丁 ID。有了这个选项:
重新排序组成补丁的文件差异不会影响ID。特别是,通过将相同的两棵树与“-O <orderfile>”的两个不同设置进行比较而产生的两个补丁导致相同的补丁ID签名,从而允许计算结果用作索引关于两棵树之间的变化;
结果与 git 1.9及更早版本产生的值不同,或者当配置了“unstable”散列(请参阅下面的--unstable)时产生的值 - 即使在不使用“-O <orderfile>”的情况下使用差异输出时,从而使现有数据库存储这种“不稳定”或历史补丁ID不可用。
如果 patchid.stable 设置为 true,这是默认值。
--unstable
使用“unstable”散列作为修补程序ID。使用此选项,产生的结果与 git 1.9及更早版本生成的 patch-id 值兼容。预先存在的数据库存储由 git 1.9及更高版本(不涉及重新排序的补丁)生成的补丁id的用户可能需要使用此选项。
This is the default.