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