Git敏捷開發--rebase命令

git rebase是git下比較常用的命令,以下記錄自己遇到較多的使用場景。

合併分支

在多人協作的項目中,拉分支是很常見的事情,經常需要同步自己的分支與遠端master分支一致,有兩種方式:

  • git merge master
  • git rebase master

兩者的區別在於:前者會在生成一條 Merge branch master into XXX 的commit記錄,而後者能保持commit乾淨。

git rabase 在開源提交PR時,能夠更好地保持commit 整潔,消除了多餘的 Merge log。

# 假設私拉分支爲fix_bug,且當前處於此分支上
# 同步master分支
git fetch master
git rebase master

# 如何有衝突,會暫停rebase,需要手動解決衝突,然後
git add your_conflict_file
git rebase --continue

# 在任何時候,都可以終止rebase
git rebase --abort
# 會回到執行rebase前的狀態

# 在當前分支git pull時有時候也會產生Merge記錄
# 可以在後面加上--rebase,保持commit log整潔
git pull --rebase

合併多條commit記錄

# 合併最近提交的3條commit
git rebase -i HEAD~3

# pick 表示選擇此次commit,squash表示將此commit和上一條commit合併
# 修改完之後,wq保存退出,會合並commit
# 切忌不要 git pull
# 因爲合併的是遠程已經push的commit,要應用合併,需強制push
git push -f
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章