首先, 原生的git是支持分支的新建与合并的1, 所以所有基于git实现的代码版本管理工具(如gitlab/github)也是默认支持分支功能的. (gitlab还会带有权限管理功能)
此外, 题主项目中的一个重大问题正如@52lidan所说, 没有dev
分支导致代码版本管理混乱(到底是A还是B还是C分支是最主要的?), 所以给题主的建议是:
项目要有如下的分支
master
: 正式可以发布到生产环境的代码分支(protected)2
dev
: 经过开发与初步测试后, 可以正常工作的代码分支, 用以合并所有人的工作以及已经修复的bug(protected)
每一个任务新建一个分支, 人跟着任务走而不是任务跟着人走. 也就是说, 在远程库上, 该任务只有一个分支, 并且所有人都拉取到本地上. 所有人关于该任务的工作都需要在本地commit后再推送到任务分支. (不建议一个任务有多于三人协作, 否则分解任务为更多的分支)
protected
, 该分支只有项目中获得owner
/master
权限的人才能合并别人提交的merge request
↩
5 回答3.1k 阅读
3 回答2.8k 阅读
2 回答695 阅读✓ 已解决
572 阅读
1 回答458 阅读
难道你们都没有一个公共的dev开发分支吗?
从dev上各自拉个开发分支,开发完了,大家都往dev上合并。
有冲突解决冲突。