'FETCH_HEAD' Jenkins 管道的配置是什么意思?



在此处输入图像描述

如果我将Jenkins文件推送到Gerrit,以便审查我的代码更改,我可以通过将分支设置为"FETCH_HEAD"来测试我的更改吗?它是如何工作的?

否,此处不能使用FETCH_HEAD

对于正在审查的Gerrit更改或挂起的更改,它们有一组特定的分支或引用,称为refs/changes/a/b/c,用于指向所有补丁集。b是每次更改的唯一自动递增编号。CCD_ 4是CCD_。c是每个补丁集的序数。

以变更http://gerrithost/gerrit/c/12345为例,变更编号为12345。其第4个补丁集的分支是refs/changes/45/12345/4。您可以使用git fetch origin refs/changes/45/12345/4 && git checkout FETCH_HEAD来检索和签出提交。

在获取或提取ref之后,ref的tip对象(在大多数情况下是提交(sha1存储在FETCH_HEAD中。例如,

git fetch origin master
git log -1 FETCH_HEAD

您将看到FETCH_HEADmaster在远程存储库中的最后一次提交。

git fetch origin dev
git log -1 FETCH_HEAD

现在FETCH_HEAD已经成为dev的最后一个提交。使用FETCH_HEAD,您不必考虑提取的ref的名称。

对于Gerrit的更改,我建议使用Gerrit Trigger插件。它非常易于配置和使用。

相关内容

最新更新