由於rebase執行速度慢,分支同步主干代碼時,分支的每次提交都可能和主干產生沖突,需要解決的次數太多,影響提交效率。 同時,為了保證主干提交線干凈(可以安全回溯),所以采用下面所說的merge法。
merge法
核心: (master) git merge feature --squash 意思是把feature分支不同於master分支的所有文件羅列出來(無論有幾個提交),然后就可以方便的git commit提交了
#1 創建功能分支
(master) git checkout -b feature
#2 功能迭代
(feature) git commit ...
#3 合並最新主干代碼
(feature) git checkout master
(master) git pull
(master) git checkout feature
(feature) git merge master
解沖突
(feature) git commit #
4 review,修改代碼
(feature) git commit
5 提交測試通過后,合並到主分支,先執行一遍第3步 # 把提交合並成一個
(feature) git checkout master
(master) git merge feature --squash
(master) git commit # 推送到遠端,正常結束
(master) git push origin #
6 如果上一步被拒絕,是因為master有更新的代碼入庫了,為了防止master上出現分線,需要重新執行第5步
