团队 git 开发中遇到的问题。
Git 分支的设置
一共建立了 2 个远程分支。 dev 和 master.
- master 中的代码是可以直接部署的,目前使用 walle 进行代码的部署。
- dev 中的代码为开发使用
服务器的设置
目前在一台服务器上部署了 2 个环境,
- 一个是开发联调环境。用于给 RD 合作开发使用(使用 git 的 hook 在 push 的时候自动更新代码)
- 一个是测试环境。用于给 QA 同事进行功能的测试。(问题再这里)
遇到的问题
目前开发人员 3 位 合作开发 2 个功能。
- rd1 : 开发功能 1
- rd2 : 开发功能 1
- rd3 : 开发功能 2
目前 rd1 和 rd2 已经开发好功能。需要提交到测试环境进行测试。这里就遇到了一个问题。3 位工程师都在 dev 分支提交了代码,然而 QA 只需要用到 rd1 和 rd2 的代码。 rd3 的代码可能对其他功能产生不可知的影响。
然而问题在于所有的代码都已经在 dev 分支中了,我怎么能做到只发布 RD1 和 RD2 的代码到测试环境中?(难道让他们把涉及到的文件都拎出来,增量上传到测试环境?)
解决方案
正常的情况应该是这样的?
让 RD2 开个新的分支(feature_2)用于开发自己的功能。等 RD1 和 RD2 的功能测试完成之后,到需要测试 RD3 的功能的时候,dev merge feature_2 然后再发布代码至测试环境。
那这个问题怎么办?
领导希望本月只上线 rd1 和 rd2 的功能,但是 rd3 已经把feature_2 merge 至 dev 分支并发布测试了。而且期间 rd1 和 rd2 修复了一些测试的 bug 也一并提交到 dev 分支 并发布到了测试环境。
一开始就用错了么?
在分配功能的时候就应该为 RD1 和 RD2 建立分支feature_1 为 RD3 建立 feature_2



