git - 了解 Meld 与 Git 的 3 种 merge 方式

标签 git repository meld 3-way-merge

<分区>

我的老板设置了我们新的 Git 存储库,一个在我们的 Windows 服务器上,一个在我们的 Linux 服务器上。

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

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

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

我已阅读文档和帮助,但我无法理解。据我所见,shipping.remote 包含我对我想要保留的 Linux 机器上的文件所做的更改。 shipping.local 是来自 Windows 服务器的文件,shipping.php 是 merge 后的文件。

因此,如果我只是从 shipping.remote 中获取代码,将其移动到中间文件 (shipping.php) 并保存,我将在 Git 存储库中获得我想要的更新文件在 Linux 机器上?

我希望我的解释是正确的,我只是不想把事情搞砸。

最佳答案

您正确理解您看到的文件是什么。但是,如果您以您描述的方式 merge ( merge 从远程到基础的更改),您将丢失本地的更改。实际上,您必须将本地和远程都 merge 到 base 中。您可以使用 Changes | merge 所有不冲突的,然后手动解决每个冲突。

关于git - 了解 Meld 与 Git 的 3 种 merge 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12180523/

相关文章:

git - 删除我的 git 目录是否安全?克隆在错误的位置

java - Git 存储库的正确密码存储

version-control - 我如何使用 Mercurial?

Git:本地和远程存储库不同步

diff - 对 CVS 使用不同的 diff 命令?

python - Meld 需要 pygtk 2.8.0 或更高版本

macos - 无法通过 MacPorts 安装 Meld

linux - 如何通过 HTTPS 将 Git 存储库移至 Atlassian Stash

git - 如何在 VSCode 的集成终端中启用 git 自动完成?

git - git merge another-branch 和 git pull remote another-branch 的区别