2

几天前我安装了 Darcs 并有疑问。我是唯一的程序员,我通常在应用程序的两个或三个实例上工作,开发新功能。问题来了,因为这个实例修改了相同的源代码文件,所以当我完成它们并将它们发送到主存储库时,它们会产生冲突。有什么办法可以解决这个问题吗?推送到主存储库时,我可以在多个实例中编写相同的文件而不会产生冲突吗?谢谢

4

1 回答 1

5

首先,当文件的不同位置发生更改时,合并时通常不会发生冲突。当两个补丁可以在没有冲突的情况下合并时,一个说它们是通勤的。在您的情况下,您在两个不同的分支中修改了文件的同一部分。在这种情况下,darcs 不允许您“推动”产生冲突的第二个补丁。

有两种方法可以解决这种冲突,但您必须开始在本地合并这两个补丁才能在您的工作存储库中解决冲突。为此,只需从主存储库中提取补丁。然后你必须编辑有问题的文件并解决冲突。

第一种方法很简单,也是首选的解决方案,您必须“修改记录”尚未在主存储库中的补丁(查看“darcs amend-record”命令的用法)。

另一种解决方案是记录分辨率补丁,方法是调用“darcs record”,然后同时推送冲突补丁和分辨率补丁。这种解决方案往往会使历史复杂化,并且会使一些后期操作变得更长。但是,当分支已被大量分布时,就需要此解决方案。

于 2009-05-12T11:53:14.647 回答