我想知道人们正在使用什么git分支/发布策略,并建议具有以下要求的项目:
我们尝试过使用Git-flow流程(http://nvie.com/posts/a-successful-git-branching-model/),但有两个主要问题:
是否还有其他git工作流程适合这种情况,或者其他人如何通过Git-flow克服这些问题?
答案 0 :(得分:8)
我们在发布分支期间的任何时候测试的代码与将要发布的代码完全相同(因为发布分支需要在最后与master合并)
这没有意义。发布分支和主分支之间的合并应该只是快进 - 您的主分支应该由您的发布决定,而不是相反。
重构更改很难处理,并且当发布分支与master合并时,通常会导致合并冲突。
请参阅上文,了解指向master分支的发布分支。此外,只要不在分支分割点之前重新提交任何提交,您就可以在开发时尝试重新设置功能分支。
在将您的分支合并到开发之前,您应该在功能分支之上重新定义开发分支,这样当您将功能分支合并到develop中时,您将获得快速合并而不会发生合并冲突。您应该在开发期间定期执行此操作(可能每天一次到一周,具体取决于存储库中的提交量)。
如果你在功能完成后进行重构,而你只是在重构develop分支,那么,是的,你应该期待合并很难。
但是,在将发布分支合并到master或发展为发布分支时出现合并问题表示未正确跟踪链接流。
答案 1 :(得分:3)
就替代品而言,
GitHub Flow是一个支持的基于分支的轻量级工作流 定期部署的团队和项目。