Gerrit 是一个基于 Git 版本控制的基于 Web 的代码审查工具 。笔者在学习它的过程中发现,要使用好它,第一步就是要理解 Change-Id。
理解 Change-Id
要理解 Gerrit 的 Change-Id,我们就必须对“一次代码审查任务”有一个定义。通常,我们认为对一次完整的功能实现或 Bug 修复(即一次完整的变更)进行代码审查是合理的。而对一个半成品进行代码审查,得到的结论是不可靠的。因此,一次代码审查任务意味着是对一次变更进行审查。
Gerrit 使用 Change-Id 来标识一次变更。Change-Id 实际上就是一串字符串,类似这样:Ic8aaa0728a43936cd4c6e1ed590e01ba8f0fbf5b
但是,一次变更通常会伴随多次 Git 提交(Commit),而且每次提交的提交是不同的 Commit Id(提交Id)。Gerrit 如何将多次提交关联到同一个 Change-Id 呢?
我们需要在每次提交时,将 Change-Id 以规定的格式放在提交消息(Commit message)的Footer 部分中(最后一行)。如下图: