三、 Gerrit的注冊及使用
- 1. 簡介
Gerrit為代碼審核工具,git提交的代碼,必須經過審核才能合入到正式的版本庫中。
- 2. 注冊步驟
(1) 向部門配置管理員申請Gerrit賬號。
(2) 登陸部門提供的服務器。使用個人github賬戶進行登陸。
(3) 首次登陸,需要填寫一些基本信息
Username——注冊賬號的用戶名
Fullnmame——gerrit中顯示的用戶名
Email——統一使用個人分配的公司郵箱,設置過程會接收到一份驗證郵件
(4) 配置public key
點擊網頁右上角登陸用戶名處,選擇下拉菜單中settings
選擇SSH Public Key一項
點擊Add Key添加在本機生成的public key,生成方法可參照網頁提示或在網上查找
(5) 通知配置管理員添加相關代碼權限
- 3. 使用介紹
(1)基本
All->Open 所有正在等待審核的代碼提交單
All->Merged 所有已經審核通過的代碼提交單
All->Abandoned 所有被丟棄的代碼提交單
注意:每次本地提交完代碼后,需要到網頁上查看是否提交成功,狀態是否出現沖突,如圖第一條中的狀態為代碼沖突,需要重新拉取最新代碼后解完沖突再上傳
(2)代碼下載
Project ->List,可以查看所有權限以內的的代碼工程,點擊其中一個進入代碼工程菜單,
進入后可看到工程代碼下載的地址,git clone……
注意,需要切換至clone with commit-msg hook, SSH的選項地址,才可以下載。
復制地址后粘貼至git窗口即可啟動下載。
(3)更多gerrit使用方法,查看Documentation選項
四、 Git使用方法及規范
- 1. git配置用戶名及郵箱
git config --global user.email 郵箱名(必須和gerrit設置的一致)
git config --global user.name 用戶名
- 2. git下載產生Change-ID的commit_msg文件
commit_msg文件用於自動為每個提交生成Changes-Id,任何一個代碼提交,必須有Changes-Id才能夠上傳成功。如執行前面步驟后,工程文件夾下仍無commit_msg文件,則執行以下操作步驟。
(1)文件下載
在庫工程目錄中輸入以下語句:
scp -p -P 29418 gerrit用戶名@服務器連接
(2)設置git全局配置文件
以上文件下載,必須每次創建代碼工程時,都必須將commit-msg文件拷貝到對應的.git/hooks/文件才會生效。設置全局的文件配置,則無需每次都進行以上下載或拷貝操作。
A. 創建一個全局的git配置目錄 .git-template/
B. 將以上文件目錄配置到git中,git config --global init.templatedir ‘~/.git-template’
C. 創建目錄mkdir –P ~/.git-templates/hooks
D. 將下載好的commit-msg文件拷貝至以上目錄,並做提權操作chmod a+x commit-msg
E. 重新下載git庫,其對應的.git/hooks目錄下就會自動拷貝了commit-msg文件了
- 3. 使用git進行代碼開發的過程
(1) 初始化代碼倉庫
復制gerrit網頁的下載地址進行下載
(2) 切換開發分支
進入對應工程代碼倉目錄,
git branch –a 查看該工程所有代碼分支
git checkout –b 本地分支名 origin/遠程分支名 創建指向遠程分支的本地分支
git checkout 本地分支名 切換本地分支
注意:代碼開發時,需要在指定的代碼分支下進行開發,否則無法提交代碼。
(3) 查詢提交記錄
git log 查看當前分支的提交記錄
git log 分支名 查看指定分支的提交記錄
(4) 開發代碼提交
A. 需要進行代碼提交時,git status查看代碼修改情況是否正確
B. git add –A將所有修改文件加入緩存區
C. git commit生成一條提交,在彈出的窗口中寫入 i,然后寫注釋
D. 退出編輯注釋步驟:Esc > : > wq
E. 消息git log 查看是否提交成功,提交是否產生changes-ID
F. git fetch --all 將遠程代碼同步到本地
G. git rebase 將遠程代碼對應分支與當前分支代碼合並
H. 出現合入沖突,需要手動解決沖突后,執行
git add –A 和 git rebase –continue
I. git log 查看提交是否合入成功
J. git push origin HEAD:refs/for/分支名稱 將本地提交上傳服務器,等待審核
注意:每次上傳代碼前,必須執行同步遠程代碼的步驟,否則會導致無法合入代碼。
提交命令補充:
git reset 單號 取消提交單
git push origin HEAD:refs/for/分支名稱 快捷輸入方式:
Ctrl+R 然后輸入git p 然后按Tab
追加代碼到未審核的代碼塊里,如果之前提交的代碼已被審核則無法追加:
1、git commit –amend
2、git push …
(5) 更新本地后台代碼
A、 查看狀態是否被更改git status
B、 若被更改則git add -A
C、 然后重置本地代碼更改git reset --hard
D、 更新分支git fetch --all
E、 合並到本地代碼 git rebase
