我所在项目组的git工作流程是,远程创建一个主分支master,本地每人创建功能分支,提交时的顺序:
commit->checkout master->pull->merge/mergetool(if conflict)->push
去自己的工作分支
$ git checkout work
工作
...
提交工作分支的修改
$ git add -A
$ git commit
## or: ##
$ git commit -a
回到主分支
$ git checkout master
获取远程最新的修改,此时不会产生冲突
$ git pull
回到工作分支
$ git checkout work
用merge合并主干的修改,如果有冲突在此时解决
$ git merge master
$ git mergetool
提交到远程分支
$ git push origin work:br_s00428293_DTSNumber
提交Merge Request
这样做的结果是,远程主干的开发非线性,每个人在本地分支解决冲突,在MR环节设置严格的审核权限。