git支持很多種工作流程卖局,我們采用的一般是這樣,遠(yuǎn)程創(chuàng)建一個(gè)主分支,本地每人創(chuàng)建功能分支已日,日常工作流程如下:
去自己的工作分支
$ git checkout work
工作
....
提交工作分支的修改
$ git commit -a
回到主分支
$ git checkout master
獲取遠(yuǎn)程最新的修改,此時(shí)不會(huì)產(chǎn)生沖突
$ git pull
回到工作分支
$ git checkout work
用rebase合并主干的修改栅屏,如果有沖突在此時(shí)解決
$ git rebase master
回到主分支
$ git checkout master
合并工作分支的修改飘千,此時(shí)不會(huì)產(chǎn)生沖突。
$ git merge work
提交到遠(yuǎn)程主干
$ git push
這樣做的好處是栈雳,遠(yuǎn)程主干上的歷史永遠(yuǎn)是線性的护奈。每個(gè)人在本地分支解決沖突,不會(huì)在主干上產(chǎn)生沖突哥纫。
需要說明的問題:
master 分支 僅支持的操作pull fetch merge push,也就是說在master 分支霉旗,不支持commit等操作