Git分支策略:共享分支正在更新,而另一个DEV处于合并的中间?
我们的.git分支策略如下:Git分支策略:共享分支正在更新,而另一个DEV处于合并的中间?,git,merge,version-control,atlassian-sourcetree,Git,Merge,Version Control,Atlassian Sourcetree,我们的.git分支策略如下: 每个开发人员都有一个开发分支(例如john dev) 每个开发人员都有自己的分支,因为“在QA中只隔离John的更改,以便我们可以独立测试它们”是这个团队的一个相当常见的用例,每个开发人员都有自己的开发分支似乎是实现这一点的最简单的方法(他们可以从自己的分支构建一个非prod工件,而无需任何额外的工作) 当您想要将您的功能与其他功能合并时:获取/拉取远程,然后将UAT分支合并到您的_dev分支中(我们鼓励开发人员经常这样做) 解决任何合并冲突(如果需要,与其他
- 每个开发人员都有一个开发分支(例如john dev)
- 每个开发人员都有自己的分支,因为“在QA中只隔离John的更改,以便我们可以独立测试它们”是这个团队的一个相当常见的用例,每个开发人员都有自己的开发分支似乎是实现这一点的最简单的方法(他们可以从自己的分支构建一个非prod工件,而无需任何额外的工作)
- 当您想要将您的功能与其他功能合并时:获取/拉取远程,然后将UAT分支合并到您的_dev分支中(我们鼓励开发人员经常这样做)
- 解决任何合并冲突(如果需要,与其他开发人员坐下来)并提交/推送它们
- 进行快速本地构建以检查是否存在任何问题
- 签出UAT并将您的开发分支合并到UAT中
- 推至UAT远程
- 从UAT分支触发UAT服务器的构建
更好的策略是根据上游重新确定开发分支的基础(
UAT
)git pull——重新设置origin UAT的基础@0andriy——是否有一个干净的上游提交历史?在开发分支中保持干净的历史记录方面,是否仍然有必要重复重新基础/合并并解决两次冲突。您在上面列表的第2项中添加的是所谓的回调合并,它们很难看。我没想到您会看到重复解决冲突两次(或更多次)?如果上游和开发人员对同一个文件进行了修改,则每个重新基址都将是干净的,或者有新的冲突。更好的策略是根据上游重新基址开发分支(UAT
)git pull——重新设置origin UAT的基础@0andriy——是否有一个干净的上游提交历史?在开发分支中保持干净的历史记录方面,是否仍然有必要重复重新基础/合并并解决两次冲突。您在上面列表的第2项中添加的是所谓的回调合并,它们很难看。我没想到您会看到重复解决冲突两次(或更多次)?如果上游和开发人员接触了同一个文件,则每个重基要么干净,要么有新的冲突。