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