问题标签 [mergetool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - How resolve multiple conflicts with "git mergetool" without having to close the editor between files?
I've found git mergetool to be a handy utility for merging diffs visually, but the way I'm going about it seems really wonky. Essentially, my process looks like this when conflicts are reported:
- Execute a git mergetool
- At the prompt, hit Enter to launch my diff tool (Meld or FileMerge, depending on which computer)
- Resolve the conflicts
- Save the changes
- Close the diff tool
If I have more than one conflict, rinse, repeat. Yep, that's me opening and closing my diff viewer once for each conflict in the merge. Since it's launched from the command line, closing it is the only way I know of to tell git mergetool that I've resolved this particular conflict and that it can move on to the next.
Surely there's a better way, but I have no idea. Li'l help, please? This process seems crazy inefficient.
svn - 子行级合并工具?
是否有任何交互式合并工具,当它们在给定行上发生合并冲突时,返回并尝试对冲突行进行一次字符合并?
我正在考虑在更改的代码行与缩进的同一行之间发生合并冲突的情况。
顺便说一句:我正在使用从 TortoiseSVN 调用的Beyond Compare
git - Git 的自动检测是脚本化的还是在一些 Git 可执行文件中?
这个问题是基于 VonC 在线程上的评论。
Git 对 difftool 或 mergetool 的自动检测是脚本化的还是在某些 Git 可执行文件中?
git - 用于解决 git 中的合并冲突的控制台 UI 工具......就像 vimdiff 但“更容易”
我正在寻找一个控制台 UI 工具来解决 git 中的合并冲突......就像 vimdiff 但“更容易”
git - 我可以重命名 git mergetool 中使用的 LOCAL、REMOTE 和 BASE 吗?
假设我正在对 master 进行分支的 rebase B 并且存在冲突。git 打开默认的合并工具,输入 3 个文件:file.LOCAL、file.BASE、file.REMOTE(它们的命名略有不同,但 LOCAL、BASE 和 REMOTE 在文件名中,它们是如何区分的)。
现在,根据 mergetool 手册页: $LOCAL 设置为包含当前分支上文件内容的临时文件的名称;$REMOTE 设置为包含要合并的文件内容的临时文件的名称,而 $BASE 设置为包含用于合并的公共基础的临时文件的名称。
这对我来说真的没有意义。LOCAL 是分支的当前状态。我迷路的地方是 BASE 和 REMOTE。所以我的问题是:
是否可以让 git 使用分支名称而不是 LOCAL 以及除 BASE 和 REMOTE 之外的类似更有意义的名称?例如,如果分支名称是 FeatureX 并且 BASE = 存在于 master 中的文件,有没有办法让 git 用 FeatureX 代替 LOCAL,用 master 代替 BASE,以便更清楚来源来自哪里? 在进行 rebase 时,这尤其是一个问题。
git - 有没有办法让 Git 将文件标记为冲突?
可以提交包含冲突数据的文件。有没有办法将这些文件再次标记为冲突,以便运行 git mergetool 将生成必要的文件并运行合并工具?
git - 当分支上的文件在主服务器上拆分为两个文件时合并更改
这基本上是主服务器上的大量 C 类被重构为两个较小的类 C1 和 C2 的结果。然后 C 成为 C2 的子类,并缩减为框架版本以实现向后兼容性。所以从那时起,master 包含了 C、C1 和 C2。在那个主提交上,git 说 C 被重命名为 C1。分支在此发生之前最后一次更新。(所有 C++ 代码,如果它有助于可视化所涉及的文件)
显然,当我尝试将分支变基到 master 上时,存在需要解决的冲突。
像往常一样,我使用了mergetool。
所以现在 mergetool 提出了以下内容:在本地,我有 C 的骨架版本。Base 和 Remote 对 C 有很多更改。
因为 C 的骨架版本存在于 Local 上,所以我得出结论,来自 Base 和 Remote 的更改实际上应该进入 C1,而不管 C。
我的问题是,我该怎么做?
git - 如何在 cygwin 中使用 git mergetool 中的 BeyondCompare?
如何在 cygwin 中使用“git mergetool”中的 BeyondCompare?
git - Git & WinMerge (msysgit)
我已经阅读了关于这个主题的大量问答,并按照信中的所有说明进行操作。但是我仍然在尝试设置 Git 以使用 WinMerge 进行差异和合并时感到头疼。
我使用 Git 终端执行了以下步骤:
我还在我的PATH
变量中包含的目录中设置了一个脚本,其内容为:
当我执行
在 Git 终端中,我看到:
所以在我看来,$LOCAL
and$REMOTE
变量没有将任何东西传递给winmerge.sh
脚本。我在这里做错了什么?我必须假设它在配置部分。
windows - 为什么我不能在 Windows 上使用 TortoiseMerge 作为我的 git 合并工具?
我正在尝试执行我的第一次 Git 合并(令人兴奋!),但无法让 Git Gui(来自 Git 1.7.4.msysgit.0 的 0.13.GITGUI)在 Windows 7 上识别 TortoiseMerge(1.6.11.20210 x64)。根据对类似问题的回答,我进行了以下配置更改:
不幸的是,当我启动 Git Gui 并尝试“运行合并工具”时,我收到了错误Unsupported merge tool 'tortoisemerge'
。
谁能告诉我我做错了什么?这是我的相关部分~/.gitconfig
:
更新
git mergetool
从命令行运行时,TortoiseMerge 可以很好地与上述配置配合使用。似乎只有 Git Gui 有问题。:-/