一般情况我们在gitlab的web页面上review代码,但是仅凭肉眼review,劳力伤神,很难看出一些小错误。如果我们把代码拉到IDE中,一些小错误编辑器直接提示,编译错误build一下就知道,各种调用跳转随心所欲,再也不怕没把好pr的关了。
如果我们有提交者仓库的权限,直接把他的分支拉到本地就可以达成目的了。但是,由于项目众多开发人员众多,每个仓库都去加权限操作起来非常麻烦。有没有不需要代码提交者的仓库权限就能拉到本地review的方案呢?google了一通找到了相关资料,原文是使用gerrit(google的code review工具),本人使用gitlab也可以奏效,应该也实用于github。
废话不多说了,下面来看操作步骤。
我们要review的pr连接是这个:
https://git.xxx.com/project/merge_requests/1000
拿到pr的连接中的id,使用git git ls-remote:
git ls-remote remote | grep 1000
输出:
......
5d30d7841389901ce810e327ea71ee2b3a2d5ab1 refs/merge-requests/1000/head
......
拿到refs或者commitid,在本地仓库中执行就可以将pr中还没合并的代码拉到本地做code review了。
git pull remote refs/merge-requests/1000/head
or
git reset --hard 5d30d7841389901ce810e327ea71ee2b3a2d5ab1