理解Git中的Meld三方合并

16

我的老板在我们的Windows服务器和Linux服务器上分别建立了一个新的Git仓库。

我被要求解决冲突,所以我选择使用Meld。

当我运行第一个文件时,它会打开3个窗口:

  • shipping.php.local.####,
  • shipping.php
  • shipping.remote.####

我已经阅读了文档和帮助,但我很难理解。根据我看到的,shipping.remote具有我想要保留在Linux系统中的对文件所做的更改。shipping.local是来自Windows服务器的文件,shipping.php是将从合并结果的文件。

因此,如果我只是将shipping.remote的代码复制到中间文件(shipping.php)中并保存它,那么我将在Git仓库上得到所需更新的文件在Linux系统上?

我希望我表述得正确,我只是不想搞砸什么。


远程/本地更改在这里,因为您正在将提交应用于原始(基础),使原始成为本地,而您的提交则是远程的。 - xi.lin
1个回答

10

你正确地理解了你所看到的文件。但是,如果你按照你描述的方式进行合并(将远程的更改合并到基础版本中),那么你将会失去本地的更改。实际上,你需要将本地和远程的更改都合并到基础版本中。你可以使用 “Changes | Merge all non-conflicting” 将所有非冲突的更改合并,然后手动解决每个冲突。


1
明白了,我已经成功将所有三个与我想要的更改匹配起来。谢谢。 - Naterade
1
实际上,只要中间的那个有所有的更改就足够了。 - Greg
https://dev59.com/O2gu5IYBdhLWcg3wt5Lt - crafter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接