首先,对不起,如果这是重复的,但我尝试搜索,我能找到的只是关于如何在 Git 中创建分支的东西等等。这不是我想要的。我试图弄清楚不同的人如何设置他们的 Git 分支以匹配他们的工作流程。
让我举个例子说明我们公司是如何做到的:
- 开发人员在本地提交到他们自己的分支
- 开发人员将提交推送到他们的远程,一个持续构建系统检查它,另一个开发人员审查它
- 如果审查/构建通过,提交将合并到一个 QA 分支(如果失败,则进行更多提交,直到审查/构建通过)
- 如果提交未通过 QA,则会进行还原提交以将其取出
- 在准备好足够的 QA 提交后,我们的主分支获取提交(QA 分支基于它,因此不需要合并)
- 定期从主分支中获取分支,并用于“在野外”释放。如果这里发现问题,会再次使用revert commit来移除代码
- 发布后,开发人员将他们的分支重新定位到主分支(获取他们以前的提交和其他开发人员的提交)
现在,这个系统存在一些问题;我会在评论中指出一些,但我并不是真的在寻找“请为我修复我们的系统”,我只是想看看我们可以使用哪些其他分支选项,这样我就可以权衡各种可能性。
所以,如果你曾在多家使用 Git 的公司工作过(或者更好的是,如果你是某种顾问,见过大量的 Git 设置),你能否分享一下:不同公司如何设置 Git 分支(并移动提交它们之间)以促进发展的各个阶段......同时尽量减少烦人?我确信一定有一些常见的模式......但我不知道它们是什么。
PS 如果你只看过一个 Git 设置,但你认为它很有趣,请务必发布它。但是,我想将答案授予提供可能选项的最佳细分的人,并且我希望这将来自看过多个 Git 设置的人。