最近,我与绝对反对在GIT上对功能分支的重新定位策略的人们进行了讨论。这似乎是一种公认的模式,仅对本地私有分支使用rebase,但是当有多个人在同一个功能和分支上工作时,从不使用它,这就是所谓的“重新分配的黄金法则”(如此处所述:https ://www.atlassian.com/git/tutorials/merging-vs-rebasing/conceptual-overview)
我只是对此感到惊讶。我花了3年的时间制定了完整的重新调整策略,大约有20位开发人员共同努力,并猜出了什么有效。
该过程基本上是:
- 创建功能分支,我们将其称为“ myfeature”,并将其推送到origin / myfeature
- 其他人可能会检查出来并进行处理
- 您有时可能会从master重新设置它的基准:从“ myfeature”,git rebase origin / master ; 然后,是的,您必须强制使用它。
- 当其他人想要推送他们的提交时会发生什么?他们只是重新设置它的基础:git rebase origin / myfeature。因此,他们现在处在快速前进的过程中,无需强求就可以推动它。
要遵守的唯一原则是要素分支由某人拥有。所有者是唯一可以推动力量的人。
因此,我承认:只要有推动力,就有犯错误的风险。确实如此。但是也有很多方法可以从错误中恢复,实际上,在3年的开发中,我没有看到很多强制错误,而且当它发生时,我们总能找到一种正确恢复的方法。
那么,为什么这种“黄金基础规则”被如此广泛地接受呢?我还有其他想念的吗?我了解这需要最少的组织(每个策略都需要某些组织),但是它可以工作。