git支持很多種工作流程,我們采用的一般是這樣,遠程創(chuàng)建一個主分支,本地每人創(chuàng)建功能分支,日常工作流程如下:
去自己的工作分支
$ git checkout work
工作
....
提交工作分支的修改
$ git commit -a
回到主分支
$ git checkout master
獲取遠程最新的修改,此時不會產(chǎn)生沖突
$ git pull
回到工作分支
$ git checkout work
用rebase合并主干的修改,如果有沖突在此時解決
$ git rebase master
回到主分支
$ git checkout master
合并工作分支的修改,此時不會產(chǎn)生沖突。
$ git merge work
提交到遠程主干
$ git push
這樣做的好處是,遠程主干上的歷史永遠是線性的。每個人在本地分支解決沖突,不會在主干上產(chǎn)生沖突。