Git
英语 ▾ 主题 ▾ 最新版本 ▾ git-patch-id 最后更新于 2.39.0

名称

git-patch-id - 计算补丁的唯一 ID

概要

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

描述

从标准输入读取补丁并计算其补丁 ID。

“补丁 ID”只是与补丁关联的文件差异的 SHA-1 总和,忽略行号。因此,它“相当稳定”,但同时也是相当独特的,也就是说,两个具有相同“补丁 ID”的补丁几乎可以保证是相同的内容。

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

在处理 git diff-tree 输出时,它利用了补丁以提交对象的名称为前缀这一事实,并输出两个 40 字节的十六进制字符串。第一个字符串是补丁 ID,第二个字符串是提交 ID。这可以用于从补丁 ID 到提交 ID 建立映射。

选项

--verbatim

按原样计算输入的补丁 ID,不要删除任何空格。

This is the default if patchid.verbatim is true.
--stable

使用“稳定”的哈希总和作为补丁 ID。使用此选项

  • 重新排序构成补丁的文件差异不会影响 ID。特别是,通过比较相同的两棵树并使用两个不同的“-O<orderfile>”设置生成的两个补丁会产生相同的补丁 ID 签名,从而允许将计算结果用作键来索引有关两棵树之间变化的一些元信息;

  • 结果与 git 1.9 及更早版本产生的值或使用“不稳定”哈希(参见下面的 --unstable)时产生的值不同 - 即使在不使用“-O<orderfile>”的情况下对 diff 输出使用时也是如此,从而使存储此类“不稳定”或历史补丁 ID 的现有数据库无法使用。

  • 补丁中的所有空格都被忽略,不会影响 ID。

    This is the default if patchid.stable is set to true.
--unstable

使用“不稳定”的哈希作为补丁 ID。使用此选项,产生的结果与 git 1.9 及更早版本产生的补丁 ID 值兼容,并且忽略空格。使用 git 1.9 及更早版本(不处理重新排序的补丁)产生的补丁 ID 存储预先存在的数据库的用户可能希望使用此选项。

This is the default.

GIT

git[1] 套件的一部分

scroll-to-top