最新更新時間:2020年06月09日15:41:23
《猛戳-查看我的博客地圖-總有你意想不到的驚喜》
本文內容:分支管理,分支合併
merge
- 將功能性分支合併到主分支,此時會在master分支產生一個新的commit記錄K
A---B---C---D---E---F master
\
G---H---I---J feature_1
注意:大寫字母表示commit記錄
- git checkout master
- git merge feature_1
- git push
A---B+++G+++H+++I+++J+++---C---D---E---F+++K master
\
G---H---I---J feature_1
rebase 變基
- 用法一:將功能性分支合併到主分支,master分支不會產生新的commit記錄K
A---B---C---D---E---F master
\
G---H---I---J feature_1
- git checkout master
- git rebase feature_1
- git push -f
A---B+++G+++H+++I+++J+++C---D---E---F master
\
G---H---I---J feature_1
遇到衝突:
- git rebase --abort 終止操作
- git add . + git rebase --continue 解決衝突
- 用法二:合併無效的自動Merge,-i的意思是–interactive,即彈出交互式的界面讓用戶編輯完成合並操作
場景:當push的時候,提示代碼滯後,pull操作後會生成自動Merge的commit記錄
- git rebase -i commitId 指定區間
- git rebase -i commitId1…commitId2 指定區間,左開右閉
- git rebase -i HEAD~5 指定次數
- vim編輯器 :wq 直接退出即可
- git push -f
- 用法三:將多個不同的commit記錄合併
- git rebase -i *** 會彈出vim編輯器,進行編輯即可,可以採用squash或fixup
pick:保留該commit(縮寫:p)
reword:保留該commit,但我需要修改該commit的註釋(縮寫:r)
edit:保留該commit, 但我要停下來修改該提交(不僅僅修改註釋)(縮寫:e)
squash:將該commit和前一個commit合併(縮寫:s)
fixup:將該commit和前一個commit合併,但我不要保留該提交的註釋信息(縮寫:f)
exec:執行shell命令(縮寫:x)
drop:我要丟棄該commit(縮寫:d)
修改commit提交說明
- 修改最近的一次commit
- git commit --amend
- git push -f
- 修改多次commit
- git rebase -i *** 可參考上文
pull
- git pull = git fetch + git merge
- git pull --rebase = git fetch + git rebase
參考資料
- 無
感謝閱讀,歡迎評論^-^