Gerrit使用總結(jié)

什么是Gerrit

Gerrit 是一個基于 web 的代碼評審工具, 它基于 git 版本控制系統(tǒng)蛇耀。Gerrit 旨在提供一個輕量級框架, 用于在代碼入庫之前對每個提交進行審閱。更改將上載到 Gerrit, 但實際上并不成為項目的一部分, 直到它們被審閱和接受。它是標(biāo)準(zhǔn)開源過程的一個簡單工具來支持提交補丁程序, 然后由項目成員在應(yīng)用到代碼庫之前進行評審甩挫。

1.配置sshkey
生成 SSH Key:
ssh-keygen -t rsa -C "xxxx@xxx.com"
輸入命令獲取公鑰椿争,然后添加入sshKey。
/* macOS 系統(tǒng) */
pbcopy < ~/.ssh/id_rsa.pub

/* windows 系統(tǒng) */
clip < ~/.ssh/id_rsa.pub
2.clone代碼

進入gerrit的項目代碼倉庫下,有如下兩種clone方式莺葫,帶有hook的是有提交代碼遠(yuǎn)程路徑的,不帶hook的是沒有遠(yuǎn)程倉庫路徑的枪眉,這里當(dāng)然要選擇帶hook的(下載的時候需要連同hooks鉤子腳本)捺檬。


3.提交代碼
  • 首先肯定是add和commit。
git add .
git commit -m ""
  • 使用同一個change ID重新提交:
    change ID的作用就是用來識別不同的codeReview贸铜。git commit --amend命令可以把這次commit的信息與上次的commit合并起來堡纬。
git commit --amend

可用鍵盤上下鍵轉(zhuǎn)到描述所在的那一行聂受,然后進行修改,在代碼命令中鍵入 :wq(保存并退出)烤镐,使這次commit生效蛋济。

4.推送代碼

如果還用git push origin 分支名,那這里會報not permitted炮叶,當(dāng)然是因為gerrit不允許直接將本地修改同步到遠(yuǎn)程倉庫碗旅。開發(fā)者必須先push到遠(yuǎn)程倉庫的refs/for/*分支上,等待codeReview镜悉。


  • 而應(yīng)該使用如下命令推送:
git push origin HEAD:refs/for/branchxxx
5.在線編輯功能
  • 可以在gerrit上修改commit message祟辟。
6.代碼審核
  • 然后就會在gerrit上生成一個代碼審核的Change-Id,進入這個鏈接侣肄。


  • 然后添加2個codeReview人員進行+1+2(審核)旧困,完成之后再需要+verify,然后submit就可以入庫稼锅。


  • 將功能代碼推到其他分支:
    在gerrit上可以直接選擇要cherry pick的分支吼具,將代碼cp到其他分支,或者切到某個分支使用download patch的命令來cherry pick到本地矩距。


  • Abandon
    如果代碼因為merge沖突或者是不符合審核規(guī)則馍悟,可以在gerrit頁面進行abandon處理,此時遠(yuǎn)程倉庫拒絕代碼合入,也就是遠(yuǎn)程倉庫沒有你的提交。


  • rebase
    更改當(dāng)前提交的parent剩晴,當(dāng)執(zhí)行rebase操作時锣咒,git會從兩個分支的共同祖先開始提取待變基分支上的修改,然后將待變基分支指向基分支的最新提交赞弥,最后將剛才提取的修改應(yīng)用到基分支的最新提交的后面毅整。

  • 撤銷提交:git reset

git reset --hard : 回退版本庫,暫存區(qū)绽左,工作區(qū)悼嫉。

git reset --mixed: 回退版本庫,暫存區(qū)拼窥。

git reset --soft: 回退版本庫戏蔑。

問題總結(jié):
  1. git clone下載下來的庫,文件夾里試空的鲁纠。只把一些配置文件下載了总棵,源碼都沒有下載,但是項目大小卻是正確的改含。
    處理:需要checkout一下分支文件就會出現(xiàn)情龄。

2.remote: commit fe0f5b0: warning: subject >50 characters; use shorter first paragraph
處理:提交的信息太多,不應(yīng)該大于50個長度,reset后重新提交骤视。

3.推代碼時報了fatal: remote error: Service not enabled
處理:打開項目下.git/config這個隱藏文件鞍爱,打開之后添加pushurl = xxx這個,沒有的可去同事那里copy专酗,就有推代碼的權(quán)限了睹逃。

[remote "origin"]
    url = ssh://xxx
    fetch = +refs/heads/*:refs/remotes/origin/*
    pushurl = xxx

4.gerrit推代碼遇到?jīng)_突
gerrti推代碼之前,首先需要用git pull rebase祷肯,拉最新代碼唯卖,并且將自己代碼作為最新節(jié)點。沒有沖突就直接push躬柬,有沖突拜轨,先解決沖突,再提交推上去允青。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末橄碾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颠锉,更是在濱河造成了極大的恐慌法牲,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件琼掠,死亡現(xiàn)場離奇詭異拒垃,居然都是意外死亡,警方通過查閱死者的電腦和手機瓷蛙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進店門悼瓮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人艰猬,你說我怎么就攤上這事横堡。” “怎么了冠桃?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵命贴,是天一觀的道長。 經(jīng)常有香客問我食听,道長胸蛛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任樱报,我火速辦了婚禮葬项,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘肃弟。我一直安慰自己玷室,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布笤受。 她就那樣靜靜地躺著穷缤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪箩兽。 梳的紋絲不亂的頭發(fā)上津肛,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天,我揣著相機與錄音汗贫,去河邊找鬼身坐。 笑死,一個胖子當(dāng)著我的面吹牛落包,可吹牛的內(nèi)容都是我干的部蛇。 我是一名探鬼主播,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼咐蝇,長吁一口氣:“原來是場噩夢啊……” “哼涯鲁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起有序,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤抹腿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后旭寿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體警绩,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年盅称,在試婚紗的時候發(fā)現(xiàn)自己被綠了肩祥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡缩膝,死狀恐怖搭幻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情逞盆,我是刑警寧澤檀蹋,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站云芦,受9級特大地震影響俯逾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舅逸,卻給世界環(huán)境...
    茶點故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一桌肴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧琉历,春花似錦坠七、人聲如沸水醋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拄踪。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脖镀。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留姚糊,地道東北人。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓授舟,卻偏偏與公主長得像救恨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子释树,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 提交流程 1忿薇、Xcode中檢查需要提交的內(nèi)容 提醒:Commint時若有未勾選的文件,執(zhí)行( git add ....
    Super宗Sir閱讀 3,758評論 0 1
  • 涉及到的基本操作 登錄 gerrit 激活郵箱 獲取 http Credentials 拉取代碼 提交代碼 Rev...
    tufatao閱讀 12,400評論 0 2
  • 1, Gerrit是什么躏哩? Gerrit實際上一個Git服務(wù)器署浩,它為在其服務(wù)器上托管的Git倉庫提供一系列權(quán)限控制...
    anly_jun閱讀 122,186評論 6 126
  • 第1章 Gerrit 簡介 Gerrit 是一個基于 web 的代碼評審工具, 它基于 git 版本控制系統(tǒng)。旨在...
    平常心的胖77閱讀 64,689評論 3 13
  • 在現(xiàn)在的工作開發(fā)中扫尺,一般都會使用版本控制來協(xié)同開發(fā)筋栋,在此我講述Git的的日常使用。(本教程只針對工作不久的小白或者...
    LouisHUI閱讀 5,445評論 0 5