【发布时间】:2011-11-06 18:53:35
【问题描述】:
我们三个人正在使用 git 处理一个 Django 项目。
我比其他两个经验丰富,所以所有的变化都是在他们进入“大师”之前由我来完成的。
我们都在运行 Windows,并且我们不在基于磁盘的共享可以工作的地方,因此我们在 linux 机器上的个人帐户中都有单独的“源”存储库。这些是我们相互分享更改的一种方式,也是我们存储库的“异地”备份。
另外 2 个人中的一个创建了一个分支,我们称之为 BugA,然后他们进行了修复。然后他们将其从他们的工作机器推送到我们都可以访问的 linux 机器上,以便我可以查看更改并将它们合并到我帐户上的“主”中(这被认为是投入生产的代码副本)。
一旦他们完成了 BugA,他们就会从一个新的分支开始 BugB。在审查他们的工作时,我发现了一些问题(过多的代码、缺少 cmets 等......)所以我对他们的代码进行了更改、测试并提交给 master。
然后他们将 BugB 的修复发送给我,我得到了与他们的更改有关的各种冲突。这些冲突出现在我在提交中更改的代码行上。
当他们试图与我合并时,他们也会报告他们的冲突。
在写这篇文章时,我想我开始明白可能出了什么问题。我正在将他们的代码合并到我的主人中,进行编辑和提交。我真的需要在我的 repo 中对他们的分支进行更改,将其推回以供他们合并,然后将它们合并到我的 master 中。
我不确定该怎么做。一旦他们与我的仓库中的分支合并,那么他们必须与我的主人合并吗? 2 次合并而不是 1 次?
因为我们在 linux 机器上有一个外部托管的 repo,这意味着两次推送、两次合并等......
它真的应该是这样工作的吗?
【问题讨论】:
-
可以简化您的问题吗?
标签: git merge-conflict-resolution