使用Gerrit(代码审查)时,我经常需要获取给定补丁集的副本以进行测试或验证。最明显,最简单的方法是通过Gerrit Web界面下载存档或补丁文件,然后将其手动应用于我的本地源。
虽然上述步骤非常简单,可以满足我的需求,但在最好的情况下,我希望补丁集作为提交显示在本地Git中。
我环顾四周,却找不到解决方案。我发现一些稀疏信息,这些信息一旦一起编译即可提供以下解决方案。
假设您要拉出Gerrit更改1222的补丁集2:
查找我们感兴趣的远程引用:
$ 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