在上下文git提交中,Gerrit Change-ID和Commit SHA-1有什么区别?

时间:2017-12-14 07:39:05

标签: git github gerrit

当我们执行git log命令时,我们会看到每个提交的一些信息,如下所示 - 提交SHA-1(提交哈希) 作者姓名和电子邮件 日期 提交标题 提交消息 更改-ID

我想了解1.提交SHA-1和6.更改ID之间的区别。

1 个答案:

答案 0 :(得分:4)

提交SHA-1 (提交哈希)是一个标识提交的字符串,其定义方式是,如果重做提交(使用修改,rebase或者挑选)或者如果提交历史记录中的任何内容发生更改,则哈希值将不同。因此,如果您签出哈希,您可以确信您使用相同的历史记录检查完全相同的提交。更多信息: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