【发布时间】:2020-02-29 17:06:14
【问题描述】:
我尝试使用 gerrit 进行一些测试。 使用“git push origin HEAD:refs/for/master”, 在 gerrit 代码审查之前,我想通过 Jenkins 做一些测试。 如何使用命令从“refs/for/master”克隆提交? 或获取到 Jenkins 工作区进行测试?
只有一个分支。
“git 分支”-> *master
【问题讨论】:
我尝试使用 gerrit 进行一些测试。 使用“git push origin HEAD:refs/for/master”, 在 gerrit 代码审查之前,我想通过 Jenkins 做一些测试。 如何使用命令从“refs/for/master”克隆提交? 或获取到 Jenkins 工作区进行测试?
只有一个分支。
“git 分支”-> *master
【问题讨论】:
当有人将提交推送到 Gerrit 上进行审查时,提交会保留在“神奇”的 refs/for 分支上,直到最终提交(合并)。要在本地进行提交,您需要执行以下下载命令之一:
结帐:
git fetch "https://GERRIT-SERVER/a/REPO-PATH" refs/changes/CHANGE-NUMBER && git checkout FETCH_HEAD
樱桃采摘:
git fetch "https://GERRIT-SERVER/a/REPO-PATH" refs/changes/CHANGE-NUMBER && git cherry-pick FETCH_HEAD
格式化补丁:
git fetch "https://GERRIT-SERVER/a/REPO-PATH" refs/changes/CHANGE-NUMBER && git format-patch -1 --stdout FETCH_HEAD
拉:
git pull "https://GERRIT-SERVER/a/REPO-PATH" refs/changes/CHANGE-NUMBER
在 Gerrit 3.0 上,您会在更改屏幕上找到这些命令,点击右上角的 3 个点,然后在“下载补丁”选项中。
在 Gerrit 文档here 中查看更多信息。
使用 Jenkins,您也可以执行其中一些命令,但使用 Gerrit Trigger plugin 更容易。
【讨论】: