简体中文 ▾ 主题 ▾ 最新版本 ▾ 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 及更早版本产生的补丁ID值兼容,并且空白被忽略。拥有存储 Git 1.9 及更早版本产生的补丁ID的现有数据库(且不处理重新排序补丁的用户)可能希望使用此选项。

This is the default.

GIT

Git[1] 套件的一部分

scroll-to-top