简体中文 ▾
Localized versions of git-patch-id manual
Topics ▾
Email
Latest version
▾
git-patch-id last updated in 2.39.0
Changes in the git-patch-id manual
Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.39.1 → 2.47.1 no changes
- 2.39.0 12/12/22
- 2.15.4 → 2.38.5 no changes
- 2.14.6 no changes
- 2.7.6 → 2.13.7 no changes
- 2.6.7 05/05/17
- 2.2.3 → 2.5.6 no changes
- 2.1.4 12/17/14
- 2.0.5 12/17/14
描述
从标准输入读取一个补丁,并计算出它的补丁 ID。
"补丁ID" 只不过是一个与补丁相关的文件差异的 SHA-1 之和,行号被忽略。 因此,它是 "相当稳定的",但同时也是相当独特的,也就是说,两个具有相同 "补丁ID" 的补丁几乎可以保证是同一个东西。
这个命令的主要用途是寻找可能的重复提交。
在处理 git diff-tree 输出时,它利用了补丁的前缀是提交的对象名称这一事实,并输出两个 40 字节的十六进制字符串。 第一个字符串是补丁的 ID,第二个字符串是提交的 ID。 这可以用来做一个从补丁ID 到提交 ID 的映射。
选项
- --verbatim
-
计算输入的补丁 ID,因为它是给定的,不要剥离任何空白字符。
如果 patchid.verbatim 为真,这是默认的。
- --stable
-
使用一个 "稳定的" 哈希值之和作为补丁 ID。有了这个选项:
-
对组成补丁的文件差异进行重新排序并不影响 ID。 特别是,用两个不同的 "-O<顺序文件>" 设置比较相同的两棵目录树所产生的两个补丁,会产生相同的补丁 ID 签名,从而允许计算结果被用作索引两个树之间变化的一些元信息的关键;
-
结果与 git 1.9 及更早版本产生的值不同,或者在配置了 "不稳定" 哈希值(见下文 --unstable)时产生的值不同——即使在没有使用 "-O<orderfile>" 的情况下用于 diff 输出,从而使存储这种 "不稳定“或历史补丁标识的现有数据库无法使用。
-
补丁中的所有空白都将被忽略,并且不影响 id。
如果 patchid.stable 设置为 true,则默认使用此值。
-
- --unstable
-
使用 “不稳定” 哈希值作为补丁 ID。有了这个选项,产生的结果与 git 1.9 及更早版本产生的补丁 ID 值兼容,空白被忽略。 如果您的数据库中已有 git 1.9 及更早版本产生的补丁标识(不处理重新排序的补丁),可能需要使用此选项。
这是默认设置。
GIT
属于 git[1] 文档