如何使用 meld或其他 difftool/mergetool有选择地集成 git 中两个不相关存储库远程之间的更改?

问题描述

背景

我有一个从公共存储库(都托管在 github 上)复制的私有存储库。我需要有选择地将更改从公共存储库合并到私有存储库中(而不是简单地执行 core2core

如果可行,我希望为此使用 meld 工具,但我愿意接受所有可行的替代方案。

(副本是根据 Github 的文档 here 创建的; 根据 iamamac 的回答 here 添加了第二个远程 git pull 以比较两个 repos; meld 的配置是根据 mattst 的优秀指南 here 完成的。)

作为参考,这是我确切的全局 git 工具配置:

2nd_remote

问题

此设置适用于查看差异:[merge] tool = meld [diff] tool = meld [difftool "meld"] cmd = meld "$LOCAL" "$REMOTE" [mergetool "meld"] # order of $VARS indicates order that panes display cmd = meld "$REMOTE" "$MERGED" "$LOCAL" --output "$MERGED" [mergetool] # to avoid accumulating cruft keepBackup = false [core] trustctime = false meld 中的输出/显示符合预期,显示了每个 repo 中指定分支之间的所有差异。

但是,由于 git difftool origin/main 2nd_remote/main 使用的是临时文件,因此基于这些差异在 meld 中进行和保存更改并不容易(或显然如何)。
我想要做的是使用 meld 的 difftool 设置,它可以轻松管理和保存更改。

但是,当我进行测试更改时应该引入合并冲突(例如,两个存储库中同一行的不同附加),并更新遥控器,mergetool 给出: git mergetool origin/main 2nd_remote/main

我的目标

鉴于上述情况,我认为我需要得出以下解决方案之一:

  1. 弄清楚如何在 meld 的 No files need merging 中进行更改,以便轻松保存到“真实”文件而不是临时文件;或
  2. difftool 使用这个双远程设置

但如果我完全是在错误的树上吠叫并且有另一种更好的方法,我肯定想听听它。非常感谢任何和所有指导!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...