Gerrit常見命令及最佳實踐

概述

本文記錄了筆者在使用Gerrit(一種免費、開放源代碼的代碼審查軟件)過程中的一些微小的經驗,在這裏做個簡單的分享。

克隆工程

git clone ssh://[email protected]:29428/project-name

如果使用了Git代理,請將xx.xx.cn:29428換成代理後的ip:port

git clone ssh://tusi@ip:port/project-name

創建develop分支

一般我們不會將代碼直接提交到master分支,而是會選擇在develop分支進行開發

git checkout -b develop origin/develop

添加到暫存區

修改代碼後,將所修改的代碼從工作區添加到暫存區

// 添加所有文件到暫存區
git add .
// 添加某目錄或文件到暫存區
git add src

提交暫存區改動

將暫存區內容提交到版本庫

git commit -m '測試commit'

推送到遠程分支

git push origin HEAD:refs/for/develop

常見報錯

missing Change-Id in commit message footer

先執行這兩條命令,命令中的信息改成自己的

gitdir=$(git rev-parse --git-dir); scp -p -P 80 tusi@ip:hooks/commit-msg ${gitdir}/hooks/
git commit --amend

再次push

Gerrit merge conflict

  1. Gerritabandon這次push
  2. 軟回滾
git reset --soft origin/master
  1. pull代碼
git pull
  1. 再次commit, push

最佳實踐

git status檢查倉庫狀態

一個很好的習慣,add, commit, push等操作前後都可以用git status檢查下,有助於理解Git的原理。

git status

hotfix合入master

git merge origin/hotfix/20190909
git push origin HEAD:refs/for/master

強制與遠程分支同步

慎重操作!!!會覆蓋掉本地代碼!

git reset --hard origin/develop

git add 後想撤銷

不小心添加了文件到暫存區?使用以下命令:

git checkout -- src/main.js

git commit 後想回退

// 不小心commit了1次
git reset --soft HEAD^
// 不小心commit了2次
git reset --soft HEAD~2

緊急bug來了,臨時保存feature代碼

  1. 先保存代碼
git stash
  1. 檢查確認下
git stash list
  1. 切換分支去修復bug
  2. 修復完畢,切回feature分支,釋出stash代碼接着幹
git stash pop

首發鏈接


掃一掃下方小程序碼或搜索Tusi博客,即刻閱讀最新文章!

Tusi博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章