1、去自己的工作分支$ git checkout work
//开始开发工作
2、提交工作分支的修改$ git commit -a
3、回到主分支$ git checkout master
4、获取远程最新的修改,此时不会产生冲突$ git pull
5、回到工作分支$ git checkout work
6、用rebase合并主干的修改,如果有冲突在此时解决$ git rebase master
7、回到主分支$ git checkout master
8、合并工作分支的修改,此时不会产生冲突。$ git merge work
9、提交到远程主干$ git push
这样做的好处是,远程主干上的历史永远是线性的。每个人在本地分支解决冲突,不会在主干上产生冲突。