一般情況我們在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-name | 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