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

Dar*_*n L 4 git github gerrit

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

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

gus*_*001 5

提交SHA-1(提交哈希)是一个用于标识提交的字符串,其定义方式是:如果重新提交提交(使用修订,重新设置基数或选择樱桃),或者如果提交历史记录中的任何内容发生更改,则哈希会有所不同。因此,如果签出哈希,则可以确信签出具有相同历史记录的完全相同的提交。更多信息在这里: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