git支持很多種工作流程,我們采用的一般是這樣,遠程創建一個主分支,本地每人創建功能分支,日常工作流程如下:

去自己的工作分支 $ git checkout work

工作 ....

提交工作分支的修改 $ git commit -a

回到主分支 $ git checkout master

獲取遠程最新的修改,此時不會產生沖突 $ git pull

回到工作分支 $ git checkout work

用rebase合並主干的修改,如果有沖突在此時解決 $ git rebase master

回到主分支 $ git checkout master

合並工作分支的修改,此時不會產生沖突。 $ git merge work

提交到遠程主干 $ git push

這樣做的好處是,遠程主干上的歷史永遠是線性的。每個人在本地分支解決沖突,不會在主干上產生沖突。