问题标签 [git-difftool]
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 - 二进制文件上的 git difftool 可能吗?如果是这样,如何配置它?
我一直在关注这里和这里关于如何在 git 中区分二进制文件的指南——更具体地说是 .odt 文件和 microsoft word 文件。
他们允许我$git diff <commit>
在 .odt 文件和 microsoft word 文件上显示终端中的差异;但是他们的方法似乎不适用于$git difftool <commit>
二进制文件,例如 .odt 文件或 .docx 文件。
理想情况下,我想在外部程序(例如来自 git 的 kdiff3 或 vimdiff )中显示 .odt 文件或 .docx 文件的文本差异。
这可能吗?有没有人能够在 git 的外部程序中正确显示二进制文件的文本?如果是这样,有关如何为二进制文件配置 difftool 的任何建议?
git - 如何使用 winmerge 作为 Linux 上安装的 git 的合并/差异工具
我已将 redhat 驱动器安装到 Z:/testGit/。
问题我可以使用 winmerge 对两个提交(即 9c88fb7 9c3da6c)进行比较吗?
git - Beyond Compare 4 在 OSX 上作为 git difftool 在已经运行时失败
我最近改用 Beyond Compare 作为 OSX 上的 git difftool/mergetool。当 Beyond Compare 尚未运行时,它可以正常工作-git difftool A B
按预期工作,A 出现在左窗格中,B 出现在右窗格中。
但是,如果 Beyond Compare 会话已打开,则相同的命令会导致左侧页面显示/Applications/Beyond Compare.app/Contents/Info.plist
而右侧窗格为空白。这很烦人,因为我必须完全退出 BC 才能使下一个 difftool 会话正常工作,而且我还使用 BC 作为 SFTP 客户端与远程服务器同步文件。
我正在使用 Beyond Compare 4.1.2、git 2.6.3、OSX 10.11
我的 ~/.gitconfig 的相关部分(取自Scooter Software):
在哪里/usr/local/bin/bcomp -> /Applications/Beyond Compare.app/Contents/MacOS/bcomp
任何人都可以提出解决方案吗?
git - 如何让 araxis merge 作为 git difftool 工作
我一直在尝试将 araxis 设置为 git difftool,但它从来没有用过。
我查看了这个线程,但它不完整:
如何配置 Araxis Merge 以与 Git 一起使用?
这是我的全局配置的一部分。
但是当我有一些未分级的更改并发出“git difftool”时,我得到了这个:
如果有人有一些提示,我将不胜感激!
谢谢!
git - 为什么 git difftool 在发生冲突时不打开 vimdiff?
读完这篇文章后,我通过在 ~/.gitconfig 中添加以下行来配置 git 以使用 vimdiff 作为 diff/merge 工具:
但git difftool
仍然只是打印差异(没有 vimdiff)。有任何想法吗?
更新。
似乎git difftool
工作正常,如果我在 repo 中有一些未提交的更改,即它按预期打开 vimdiff。但是,如果我git difftool
在与冲突合并后打开 vimdiff,它将无法打开。任何想法为什么?
git - Git difftool 允许在双方进行更改
我想做一个git difftool
在左侧和右侧进行更改。
假设我正在处理一个名为的分支,在该分支feature
上我发现并纠正了一些外观问题,例如缩进或拼写错误。但是我不希望这些更改成为我最终合并的一部分,master
因为它们不是已实现功能的一部分。
所以我通常做的是checkout -b small_fixes master
和git difftool feature
。然后我导入该分支上的所有小改动,最后导入git rebase master && git branch -d small_fixes
.
master
现在我和和之间的差异要小得多features
,所有这些差异都与该功能密切相关。它允许我在最终的git merge --squash feature
.
这里的主要问题是git difftool master
左侧有临时文件(master
)。我可以对工作副本进行更改,但不能对主副本进行更改。所以如果我想改变双方,我需要两个不同的操作。
我想知道是否有一种工具可以允许将更改保存在临时文件上,然后保存在commit
主stash
分支上。
请注意,这种情况也会出现在git difftool --dir-diff
双方都是临时文件的过程中。
所以,问题是:我怎样才能difftool
在双方都进行更改,然后同时提交这些更改?
git - 如何通过 git difftool 合并文件更改
我有另一个前端开发人员与我一起工作,他刚刚开始使用 Javascript。当他加快速度时,我想先复习一下他的代码。是否有可能当我合并他的分支时,每个更改的文件都会触发对 difftool 的调用,我可以在其中看到更改,根据需要进行修改,然后继续合并?我只是在寻找一个尽可能无缝和快速的工作流程。
我使用 diffMerge 作为工具,但也检查了 Kaleidoscope。
git - difftool - 只加载 1 个版本的 gitfile 而不是 2 个
我正在尝试使用INET PDFC作为 difftool 来比较不同版本的 pdf 文件。
配置文件
当我运行时,git difftool HEAD HEAD^ <filename>
我只看到 1 个文件。
如何将这两个版本加载到此工具中?还是我应该使用 .bat 文件?如何?
git - Git difftool 无法区分两个分支
我试图用 diff 2 个分支
git difftool master..presentation
命令。我尝试了 Meld 和 vsdiffmerge 但由于某种原因它们不起作用。该命令所做的只是反复询问我是否要使用当前的 difftool 来区分文件。如果我输入'y',它会打开相应的程序,就是这样,没有实际的差异发生。在 Meld 中,它仅显示带有 3 个选项的开始屏幕,而在 Visual Studio 中,它向我显示了没有打开代码选项卡的默认窗口。
这是我当前的 .gitconfig:
请注意,在进行合并时 vsDiffMerge 工作正常,它只是不适用于差异。
只需使用控制台差异
工作得很好。
我使用最新版本的 Git、Meld 和 Visual Studio。有任何想法吗?
git - 比较多个文件时可以中止 git difftool 吗?
我犯了一个巨大的错误。
我已经配置git difftool
为使用vimdiff
,然后我执行了一个比较整个存储库的命令:
git difftool tag1 tag2
现在 difftool 为每个已更改的文件以 diff 模式启动 vim。当我关闭 vim 时,它会与下一对文件一起再次启动。一般来说,这就是我想要的,但是如果队列中的文件太多,我可以以某种方式中止这个过程吗?我知道我可以关闭终端,但有更好的方法吗?