在使用Gerrit(Code Review)时,我经常需要获取给定补丁集的副本以进行测试或验证。显而易见的方法是通过Gerrit Web界面下载归档文件或补丁文件,并手动将其应用到我的本地源代码。如何从Gerrit中拖拉一个给定的补丁集?
虽然上述步骤非常简单,并且满足了我的需求,但在最好的世界中,我希望修补程序集在我的本地Git中显示为提交。
我四处张望并没有找到解决方案。我发现一些编译在一起的稀疏信息给出了以下解决方案。
说你想拉补丁集2的格里特变化1222:
找到远程裁判,我们感兴趣的是:
$ git ls-remote | grep 1220
From http://something.com:8081/MyProject
e2e0212a59240ac5cd7c11220c35542523f44b59 refs/changes/13/713/1
b8c4dceea5eaf1bad711b0ea6938c80ec932726a refs/changes/20/1220/1
6f20c182ec7f54a2aa9e8f6188a0eef1b0790df4 refs/changes/20/1220/2
ed94a98386d224ce3d86004ce99f61220905a077 refs/changes/22/1222/1
拉裁判:
git pull origin refs/changes/20/1220/2
这将创建一个Git提交点,最终可以重定位:
git rebase
有任何理由您不使用Gerrit UI中提供的标准[下载](https://gerrit-documentation.storage.googleapis.com/Documentation/2.10/user-review-ui.html#download)选项? – uncletall 2015-02-10 04:24:17
原因是,如果有一个待审查的代码审查(由其他人提出),我想要得到更改,因此需要对其进行更改,然后拉动修补程序集更方便。它允许我立即提交代码更改,而前一个提交点仍在审核中。 – 2015-02-11 04:46:39
没错,那就是你使用那些下载选项。请阅读文档,你会明白。 – uncletall 2015-02-11 06:01:13