English ▾ 主题 ▾ 最新版本 ▾ 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>" 的差异输出上使用,从而使现有的存储此类“不稳定”或历史补丁 ID 的数据库无法使用。

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

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

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

This is the default.

GIT

属于 git[1] 套件的一部分

scroll-to-top