Gerrit 使用操作手冊
一、Gerrit簡介
Gerrit 是一種免費、開源的代碼審查工具,使用網(wǎng)頁交互頁面。這個軟件的名稱來自于荷蘭設(shè)計師師赫里特·里特費爾德(Gerrit Rietveld),作者為Google公司的Shawn Pearce。它使用Git作為底層版本控制系統(tǒng),相比于其他的代碼管理工具,Gerrit明顯的特色是代碼審核。利用網(wǎng)頁瀏覽器,同一個團隊的軟件程序員,可以相互審核(Review)彼此修改后的程序代碼,然后決定是繼續(xù)提交還是取消提交。
二、Gerrit使用
2.1 激活賬號
在瀏覽器輸入:192.168.211.164,登錄賬戶,首次登錄需要激活。即登錄后在設(shè)置(齒輪圖標)的Email Addresses中配置郵箱地址,并根據(jù)接收到的郵件進行激活,激活時Username、Full name和Display name可以配置成相同。
2.2 本地生成ssh-key公鑰
在git bash中使用以下命令,直接回車即可。
ssh-keygen -t rsa -C “your email”
秘鑰默認保存在C盤用戶下,例如:/c/Users/86137/.ssh/id_rsa.pub
2.3 gerrit配置免密下載ssh keys
點擊設(shè)置后,選擇左邊菜單欄的SSH keys,將本地生成的秘鑰貼入并保存。
2.4 查詢項目,點擊browse下的repositories進行查看,項目較多時,可以在filter中輸入名稱進行過濾。
2.5 下載代碼
首次下載代碼需要請使用repository中的第一個命令進行下載,如果使用第二條命令,可能無法提交或未經(jīng)過gerrit,無法實現(xiàn)代碼審核
建議:優(yōu)先選擇使用ssh的方式
如確實需要使用http方式,http彈框的密碼需要從頁面設(shè)置中點擊http credentials生成
2.6 修改與提交
修改與提交前先進行g(shù)it的相關(guān)配置,下載后進入項目,在項目路徑下執(zhí)行
如果本地只需要一個賬號登錄,可以設(shè)置全局變量,執(zhí)行以下兩條命令:
git config --global user.name " *** "
git config --global user.email " *** "
如果本地存在多個賬號使用或者不同項目需要不同賬號,則去掉–global
git config user.name " *** "
git config user.email " *** "
關(guān)聯(lián)提交遠程路徑:
git config remote.origin.push refs/heads/:refs/for/
新建或修改文件后先執(zhí)行
git add filename或. (.表示當前目錄下所有新增或修改文件添加至?xí)捍鎱^(qū))
git commit -m “message” 用于提交至本地倉庫
git push origin HEAD:refs/for/master 推送至遠程暫存區(qū)
2.7 Gerrit頁面進行代碼審核并合并至遠程分支
點擊review link進入審核頁面后,根據(jù)頁面中間的files進行代碼內(nèi)容變更的查看,確認后根據(jù)具體權(quán)限進行相關(guān)操作,當code-review達到+2,verified達到+1后進行代碼的提交
2.8 遠程合并后本地需要git pull更新同步,更新后可通過git log查看
三、常見問題處理
3.1 每次commit都會生成一個change id,也就會在gerrit中生成一個review請求,為避免review請求過多,可以按照以下兩種方法進行操作
方法一:減少commit的使用,可以在本地執(zhí)行add后,在push之前使用一次commit
方法二:第一次使用commit后,后面使用commit時通過git commit --amend進入修改頁面修改Change-Id,此時push后會只產(chǎn)生一個review請求
3.2 當submit灰色或報錯時
git submit including parents
原因:由commit依賴引起,例如有兩次review A和B,A是先提交至gerrit,但是并沒有審核代碼并且submit,此時又提交了新的review請求B,B包含了A的修改,于是A上進行了abondon操作,只留下B在gerrit中,就會出現(xiàn)該錯誤。A和B按順序合并時不會報錯。
解決:此時需要從遠程分支拉取一個新的分支:
git fetch origin master:new_branch
本地切換到新分支:
git checkout new_branch
然后點擊review頁面edit右邊三點,選擇download patch,復(fù)制Cherry Pick命令
git fetch “url” refs/changes/*** && git cherry-pick ***
再執(zhí)行g(shù)it add . 和 git commit,commit時會提示沖突和解決,保存后用git push提交
git push origin HEAD:refs/for/***文章來源:http://www.zghlxwxcb.cn/news/detail-783346.html
完成后重新進入gerrit的review頁面進行review和submit。文章來源地址http://www.zghlxwxcb.cn/news/detail-783346.html
到了這里,關(guān)于Gerrit 使用操作手冊的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!