概述
本文記錄了筆者在使用Gerrit
(一種免費、開放源代碼的代碼審查軟件)過程中的一些微小的經驗,在這里做個簡單的分享。
克隆工程
git clone ssh://tusi@xx.xx.cn: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
- 在
Gerrit
上abandon
這次push
- 軟回滾
git reset --soft origin/master
pull
代碼
git pull
- 再次
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代碼
- 先保存代碼
git stash
- 檢查確認下
git stash list
- 切換分支去修復
bug
- 修復完畢,切回
feature
分支,釋出stash
代碼接着干
git stash pop
掃一掃下方小程序碼或搜索Tusi博客
,即刻閱讀最新文章!