2017-01-22 62 views
0

我有一个有多个子文件夹和多个工程师的项目。它只有一个顶级文件夹的git仓库。Git合并来自多个分支的问题

所有开发人员在周一结帐一个共同的主人,并从中创建他们各自的分支。他们编辑代码,主要是在单独的文件和文件夹中,但有一些文件是通用的,并由各方编辑。

我的问题进来,我可能合并一个开发商分支成主机和提交并推送这个。如果该开发人员仅处理文件1和2,则这些是唯一需要在提交中更新的人员。那很棒。

第二个开发人员工作在文件3和4上,并且在合并开发人员1后合并时,我有时会看到奇怪的行为,就好像以前的合并更改是“未合并”一样。

对于常见文件,我有时会发生冲突并使用meld手动合并它们。

我不能完全把我确切的问题还没有手指,但希望社区可能指向是正确的方向。

我会以错误的方式进行合并吗?

有没有一种方法来合并的每个文件,显示与像MELD合并工具手动的变化?我知道这需要更长的时间,但我不能一直在浪费我的开发人员错误合并的时间。

+1

你是说你的过程是每个人都创建一个个人分支上周一上班,想必上周五合并,无论他们在做什么或者他们的分支状态?如果是这样,那会导致很多问题。 – Schwern

+0

有许多方法可以避免合并冲突。但它不能完全停止(不是你的情况)。我相信你的问题应该改写,问我应该使用哪个git工作流来避免合并冲突。 – 2017-01-22 21:31:26

+0

@Schwem:合并基于完整的软件包,并非严格限制在星期五。代码必须始终处于工作状态。 – Mikkie

回答

0

有没有办法将每个显示手动更改的文件与 合并工具(如meld)合并?

您可以使用git mergetool --tool=meld

第二个开发人员处理的文件,3和4时所显影剂1的合并后合并 ,我有时会看到奇怪的行为,它 是几乎一样,如果以前的合并更改是“未合并”。

听起来像是你没拉最新代码。开发人员2需要引入开发人员1的更改以查看以前合并的更改。

我不能完全把我的手指放在确切的问题上,但希望 社区可能指向正确的方向。

我会以错误的方式进行合并吗?

我认为这将有利于您阅读git workflows(特别是集中式,功能分支和git工作流程)。确定你的团队正在使用的模型。

你需要拉你的上游分支,获取最新的提交。然后你就可以解决合并后的冲突(或者实际上变基 - 对这些信息中的链接中找到)

+0

jbu,感谢您的回复,我会去看看工作流程。 – Mikkie