2

我想知道大型 repo(例如 Linux 内核)的维护者如何合并“重要”分支,例如 next pu maint 等。一个人如何知道如何解决合并冲突?我假设这些重要的分支可能会因源代码树不同部分的许多不同人的许多提交而分道扬镳。合并两个这样的分支必须由一个人完成,因此您不能将冲突拆分为特定冲突领域的专家来解决。

4

3 回答 3

2

对于非常大的项目,Linux 内核就是其中之一,参与人员之间需要大量的沟通和协调。

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

让像 Linus 这样的人参与其中的好处是,他对内核有一个全面的了解,可以帮助在问题发生之前避免问题。您的问题还提出了打字员、程序员和软件工程师之间的区别问题。

软件项目的权威著作仍然是 Frederick Brooks 的“The Mythical Man-Month”。他在 1975 年在大型项目中发现的相同问题(他是 OS/360 的架构师……)今天仍然适用。买它。阅读。记住它。

于 2012-04-15T09:33:45.053 回答
1

我认为 Linus 解决了“简单”的合并冲突。如果事情变得困难,他会要求补丁提交者与所涉及的子系统的副官一起解决问题。Stackoverflow 上有一个关于 Linus 如何运行他的项目的问题。

于 2012-04-15T08:57:17.130 回答
-1

如果您遇到合并错误,则意味着您编辑了同一个文件,这隐含地意味着您要么知道该文件的内容,要么您做了一些无论如何都不应该做的事情。

万一发生这种情况,告诉human A推送到一个单独的branch x,并让他自己human B解决与那个新的冲突branch x。合并branch xmaster.

于 2012-04-15T09:00:48.327 回答