git分支開發,分支(feature)同步主幹(master)程式碼,以及最終分支合併到主幹的操作流程
由於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步