大型回购的维护者如何知道如何解决合并冲突?

时间:2012-04-15 08:54:53

标签: git merge merge-conflict-resolution

我想知道大型仓库的维护者(例如Linux内核)如何合并“重要”分支,例如下一个pu maint等。一个人如何知道如何解决合并冲突?我假设这些重要的分支可能会因源树中不同部分的许多不同人员的许多提交而分歧。合并两个这样的分支必须由一个人完成,因此你不能分裂冲突,以便在特定冲突领域成为专家的人来解决。

3 个答案:

答案 0 :(得分:2)

对于Linux内核所属的非常大的项目,需要大量的人员之间的沟通和协调。

答案不是“只看到什么是合并冲突”和/或“你得到的编译错误”。您需要事先知道为什么会发生(或将要发生)某些冲突,如果您不知道还有谁在做出影响您的更改,请提前查找并协调。源代码管理器可以帮助告诉您发生了什么,以及谁做了,但目标应该是首先避免意外问题,而不是在做出改变后他们不应该首先做出改变的人之后进行清理。

让像Linus这样的人参与其中的好处是,他对内核的整体看法有助于在问题发生之前避免问题。您的问题也引发了打字员,程序员和软件工程师之间的区别问题。

关于软件项目的最终工作仍然是弗雷德里克布鲁克斯的“神话人月”。他在1975年与大型项目(他是OS / 360的架构师......)确定的相同问题今天仍然适用。买吧。阅读。记住它。

答案 1 :(得分:1)

我认为Linus解决了“轻松”的合并冲突。如果事情变得困难,他要求补丁提交者与所涉及的子系统的中尉一起解决问题。 There's a question on Stackoverflow on how Linus runs his project.

答案 2 :(得分:-1)

如果你遇到合并错误,那就意味着你编辑了同一个文件,这意味着要么你知道那个文件的内容,要么你做了一些你不应该做的事情。

如果发生这种情况,请告诉human A推送到单独的branch x,让human B解决与新branch x本人的冲突。将branch x合并到master