在上下文 git 提交中,Gerrit Change-ID 和 Commit SHA-1 有什么区别?
What is the difference between Gerrit Change-ID and Commit SHA-1 in the context git commits?
当我们执行 git log 命令时,我们会看到每个提交的一些信息如下 -
提交 SHA-1(提交哈希)
作者姓名和电子邮件
日期
提交标题
提交信息
Change-ID
我想了解 1. Commit SHA-1 和 6. Change-ID.
之间的区别
Commit SHA-1(Commit hash)是一个标识提交的字符串,其定义方式是,如果重做提交(使用修改、变基或cherry-pick) 或者如果提交历史中的任何内容发生更改,则哈希将不同。因此,如果您签出一个哈希,您可以确信您签出了具有相同历史记录的完全相同的提交。更多信息在这里:https://gist.github.com/masak/2415865
Gerrit Change-Id 也是一个哈希字符串,但它不是 git 的一部分。它是稍后添加的内容以提交消息,以便 Gerrit 可以读取它。这仅由 Gerrit 使用。使用方法如下。我进行了新的提交并将其发送给 Gerrit。它有 Change-Id abc
。审查时,如果此提交有问题,我必须修复它。我会这样做的方式是,修改当前提交。如果我不更改提交消息,修改将更改提交的 SHA-1 但不会更改 Change-Id。由于现在这个新提交共享相同的 Change-id,当我将它发送给 Gerrit 时,Gerrit 会知道这个新提交是更改 abc
的新版本并将它们组合在一起以方便审查。
更多信息在这里:https://git.eclipse.org/r/Documentation/user-changeid.html
当我们执行 git log 命令时,我们会看到每个提交的一些信息如下 - 提交 SHA-1(提交哈希) 作者姓名和电子邮件 日期 提交标题 提交信息 Change-ID
我想了解 1. Commit SHA-1 和 6. Change-ID.
之间的区别Commit SHA-1(Commit hash)是一个标识提交的字符串,其定义方式是,如果重做提交(使用修改、变基或cherry-pick) 或者如果提交历史中的任何内容发生更改,则哈希将不同。因此,如果您签出一个哈希,您可以确信您签出了具有相同历史记录的完全相同的提交。更多信息在这里:https://gist.github.com/masak/2415865
Gerrit Change-Id 也是一个哈希字符串,但它不是 git 的一部分。它是稍后添加的内容以提交消息,以便 Gerrit 可以读取它。这仅由 Gerrit 使用。使用方法如下。我进行了新的提交并将其发送给 Gerrit。它有 Change-Id abc
。审查时,如果此提交有问题,我必须修复它。我会这样做的方式是,修改当前提交。如果我不更改提交消息,修改将更改提交的 SHA-1 但不会更改 Change-Id。由于现在这个新提交共享相同的 Change-id,当我将它发送给 Gerrit 时,Gerrit 会知道这个新提交是更改 abc
的新版本并将它们组合在一起以方便审查。
更多信息在这里:https://git.eclipse.org/r/Documentation/user-changeid.html