问题标签 [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 - 查看单个文件历史的“x”提交的完整文件差异(托管在 git 中)
假设我在 git 中有一个名为 的文件filex.code
,我想查看该文件最新版本的完整代码,并突出显示每个更改的部分——都在一个地方。所以一个-paned 的提交历史,几乎就像我在做一个-paned 差异,但是查看历史版本而不是从不同的分支合并。x
x
filex.code
x
越大x
越好。跨平台会很棒,但是三巨头中的任何一个都可以。能够编辑最新版本也很棒,但只读可视化已经足够了。
请注意,这与简单的文件提交历史不同,因此其他精彩的gitk path/to/file
(或 SourceTree 或您喜欢的任何可视化 git 客户端)不是我想要的。 git log -p
也接近了,它的输出诱人地包含了我想要的所有信息,只是它都是线性的,几乎是“程序化”的输出格式,而不是像你最喜欢的三窗格 GUI 那样的良好的、相对非分层的、可视化的格式'd 合并工具的。
(编辑:另一个非常酷的选项最终仍然存在仅显示每行的最新源和线性输出的缺点git blame
,但它很酷。)
所以我也不是在寻找设置 difftool,我不认为。我不想区分文件的两个已知版本,而是想将x
历史编辑的迭代可视化到单个文件。
要求太多?这是 WTFA(编写“神奇”应用程序 [自己])的情况吗?
较小的选择:是否有一个三窗格的合并工具,我可以欺骗显示单个文件的最后三个提交?
git - LibreOffice / OpenOffice 合并工具可以用作`git-mergetool`吗?
我偶然发现了一篇旧博客文章提出了这一点,不幸的是,这只是一个未实现的想法。这是否同时完成/如何实现?(我听说 TortoiseGit 可能会这样做,但我正在运行 Linux)
另一种选择也可能是这里提到的重新压缩方法,建议使用 git 过滤器跟踪未压缩的 OpenDocument 并在结帐时重新压缩它们,这将提供至少合并(和区分)xml 内容而不是二进制垃圾(或有损odt2txt),但是我也没有找到有关此方法的任何更新,关于此的最后一篇文章警告了此方法中的潜在缺陷。
git - 如何让 p4merge 识别由 `git cherry-pick` 引起的冲突,就像使用 `git merge` 一样?
我遵循这个部分地用 git 挑选提交 来挑选仅对某些文件的更改。
在挑选之后,一些文件发生了冲突,即文件有如下部分:
通常使用 git merge,我使用我心爱的 p4merge 来解决冲突,非常直观且无错误。
但是使用cherry-pick,当我使用git mergetool时,它说不需要合并,尽管文件<<<<<<
中有。所以我不得不手动编辑和解决冲突。
那么我怎么能让 git 知道存在冲突呢?
谢谢杨
macos - 如何使用 git mergetool 的 filemerge
文档在这里:http ://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html 一个方便的指南在这里:http ://ryanflorence.com/git-for-beginners/
但是,他们都没有解释如何使用 mergetool 的文件合并。
我阅读的指南说“我按 Enter 并弹出 FileMerge 并处理冲突: ”但它没有提到如何“处理冲突”。
当我运行时:
:然后按提示按回车,文件合并窗口打开,显示所有合并冲突,它只响应命令 cmd+D 和 cmd+shift+D (允许循环通过冲突)。但是,似乎没有提到如何为每个冲突选择左/右/都不选择。组合框下拉菜单似乎没有做任何事情。
已经查看过文档、指南、文件系统菜单和键盘上的系统按键以寻找响应 =)
git - 如何使用 opendiff 作为默认的合并工具
嗨,我正在尝试使用 opendiff 作为 git mergetool,但是当我运行 mergetool 时,我收到以下错误消息:
合并工具 opendiff 不能作为“opendiff”使用
我究竟做错了什么?它以前工作得很好,但是自从我安装了一个新的硬盘驱动器后它就不再工作了:(
git - 如何更改失败的 git mergetool 留下的备份文件的位置
当我使用 git merge 工具并使用 Ctrl+C 取消它时,以下文件会留在存储库中:
app/controllers/application_controller.rb.orig
app/controllers/application_controller.rb.BACKUP.22361.rb
app/controllers/application_controller.rb.BASE.22361.rb
app/controllers/application_controller.rb.LOCAL.22361.rb
app/controllers/application_controller.rb.REMOTE.22361.rb
我可以更改这些文件的位置,因此它们根本不会写入存储库,即使是暂时的?例如 ~/.mergefiles
git - 如何使用 vimdiff 解决 git 合并冲突?
我刚刚在 git 中将一个分支合并到我的 master 中,Automatic merge failed; fix conflicts and then commit the result.
现在我运行git mergetool
并打开了 vimdiff,如下图所示。我不知道如何使用 vimdiff。这里的每个面板是什么意思,我应该如何着手解决合并冲突?
eclipse - eGit 合并冲突 - 与暂存文件比较的错误内容
我们一直在 Eclipse 中使用 git 和 eGit(Helios 和 Juno - 这个问题在两者中都是一样的),直到我们今天早上尝试合并。
我们有一个分支G_Claims(我已经检查过它在本地和远程之间同步),提交最新的一组更改,将它们向上推送,然后想要将master上的一些最近工作合并到其中,这样我们的更改不会影响master,直到我们已经完成并合并它们。
所以。o) 最新更改 o) 提交(推送到远程G_Claims o) 合并 ->远程/主
有冲突。单击第一个标记的文件(标记为分阶段 - 黑白星号)执行 Team -> MergeTool 与 HEAD 比较或与工作文件比较(在这种情况下无关紧要,两者都有相同的结果)
它在左侧页面上显示当前文件,在右侧显示一个文件,该文件标有远程/主服务器上的最新提交(比如“我的更改”abd76f ...),但显示的内容完全不同的版本。
现在,如果我们单击一个不同的文件,该文件被标记为需要解决冲突(红色菱形),那么比较会在右侧面板中正确显示远程/主('我的更改'abd76f ...)版本文件。
当您使用 MergeTool 来“解决”暂存文件时,这仅仅是一个视觉错误吗
(因为此文件的合并是自动的)
单击 MergeTool 是否期望“看到”合并更改错误?在这种情况下,我们只需要记住在合并后对(部分)暂存文件使用比较头,并且只对冲突文件使用 MergeTool?
它似乎显示了正确的信息,但也许只是右侧面板的标签错误-它应该在合并之前显示文件的(以前的??)版本,但将其标记为其他内容-不是'我的改变' abd76f ......这显然不是......
git - 如何强制始终显示 mergetool GUI (KDiff3)?
如何强制始终显示合并工具 GUI 并禁用任何自动解析?
有时,当合并期间发生冲突并且我使用合并工具时,它会在我点击Enter问题“点击返回以启动合并解决工具 (kdiff3)”后立即返回,并且没有显示任何 GUI,并且似乎解决了冲突。
我现在将 Git 配置为使用KDiff3作为合并工具,但是当我codecompare
指定了合并工具时,它也发生了。我知道 KDiff3 中有一个选项“自动保存并在没有冲突的情况下退出合并”,理论上这可能会导致所描述的行为,但我一直禁用/取消选中此选项。
另外,在 Git mergetool gitconfig 中直接有trustExitCode选项,我已将其设置为 true,但即使将其设置为 false,GUI 也不会显示。
我不确定谁会自动解析。Mergetool 在某些预处理或 KDiff3 中?
我在 Windows 上运行并安装了 Git 扩展。
特定于 KDiff3 的类似问题也在这里被问到:Kdiff3 won't open with mergetool command
version-control - P4Merge 和 DiffMerge 之间的主要区别
我的团队正在寻找一个强大的 3 路合并工具来添加到我们的工具箱中。我将 P4Merge 和 DiffMerge 确定为我们的最佳候选者,因为它们被认为是 SO 上最好的(感谢 SO 社区)并且它们符合公司许可条款。
对于最终决定,我需要比较两种工具的功能。一个区别是,例如 DiffMerge 在 3 路合并中不显示共同祖先内容。
这些工具之间的主要区别是什么?
(请注意,这个问题是关于 P4Merge 和 DiffMerge 的明确问题,我知道还有其他可用的合并工具,但这里不考虑它们。)