Gerrit常見命令及最佳實踐

概述

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

克隆工程

git clone ssh://tusi@xx.xx.cn:29428/project-name

若是使用了Git代理,請將xx.xx.cn:29428換成代理後的ip:portgit

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

建立develop分支

通常咱們不會將代碼直接提交到master分支,而是會選擇在develop分支進行開發shell

git checkout -b develop origin/develop

添加到暫存區

修改代碼後,將所修改的代碼從工做區添加到暫存區小程序

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

提交暫存區改動

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

git commit -m '測試commit'

推送到遠程分支

git push origin HEAD:refs/for/develop

常見報錯

missing Change-Id in commit message footer

先執行這兩條命令,命令中的信息改爲本身的ssh

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的原理。spa

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博客

相關文章
相關標籤/搜索