问题标签 [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 / osx / unix 新手,但在我目前的工作中,我正在使用它们。我经常运行“git difftool”来比较提交中的更改,但是每当它遇到图像时,我都会从 FileMerge 收到错误,我必须进行一些不必要的点击才能跳过它....有时 10 或 20任何提交的时间。
我看过但没有看到任何在差异期间忽略图像的简单方法?
tfs - 您如何更改用于比较的程序团队资源管理器?
我想让团队资源管理器使用 BeyondCompare 或 SourceGear 的 diffmerge,以便在团队资源管理器中解决我的冲突。我知道它是可能的,但是它的设置在哪里,它的语法是什么?
git - Git 和 DiffTool 问题:LOCAL 和 REMOTE 指向什么?
我一直在努力让 tortoisemerge 作为 Git 中的 difftool 选项工作,我的 .gitconfig 文件当前显示:
根据乌龟合并文档,“我的”命令以两种方式说明哪个文件将显示在右侧。
我的问题是,GIT 提供的 LOCAL 和 REMOTE 变量实际上指向什么?该文档有点含糊,说明
LOCAL 设置为包含差异前映像内容的临时文件的名称,而远程设置为包含差异后映像内容的临时文件的名称。
当我修改文件时出现问题,然后输入'git difftool' tortoisemerge 是从左侧的工作目录文件开始的,而不是我假设的右侧。我知道我只能切换“我的”和“本地”命令,但我试图找出本地/远程指向的内容以及解决此问题的最佳方法
windows - `git difftool` 拒绝在 Emacs 劣质 shell 下运行
当我git difftool
在普通的 cygwin shell 下输入时,我只会收到良性退出:
但是,当我在 Emacs 劣质 shell 下键入完全相同的内容(运行相同的 cygwin bash)时,我收到以下错误:
知道为什么会发生这种情况以及如何解决这个问题吗?
(顺便说一下,所有其他 git 命令都可以在这个 Emacs 劣质 shell 下完美运行,所以我只能假设这一定是特定于 的东西difftool
)
编辑(提供有关工具的变体和版本信息):
- cygwin-1.7.8-1
- G41R2F1 上 2010 年 5 月 8 日的 GNU Emacs 23.2.1 (i386-mingw-nt6.1.7600)
- git 版本 1.7.4
- Windows 7 旗舰版 64 位
git - WinMerge 通过 git difftool 不断提示输入第二个文件
我使用@VonC 的出色说明来配置我的开发系统,以便git difftool <BRANCH1> <BRANCH1>
调用 WinMerge。这是我所做的:
将以下内容放在
~/.gitconfig
:[差异]
[差异工具“winmerge”]
[差异工具]
/li>创建了一个
/usr/bin/winmerge.sh
具有以下内容的:echo Launching WinMergeU.exe: $1 $2
"C:/Program Files (x86)/WinMerge/WinMergeU.exe" -e -ub "$1" "$2"
现在,当我尝试通过 启动 WinMerge 时git difftool <BRANCH1> <BRANCH1>
,我收到了似乎是正确的参数传递:
Launching WinMergeU.exe: /tmp/21qMVb_file1.c /tmp/1ACqik_file1.c
但是,出于某种奇怪的原因,WinMerge 并没有并排显示这两个文件,而是提示输入第一个文件作为右侧,而接受第二个文件作为左侧:
为什么会这样?我在配置步骤中遗漏了什么?
PS 当我在命令行上键入时winmerge.sh file1.c file2.c
,WinMerge 立即并排显示这两个文件,正如我所期望的那样。
更新:哦,哇,我刚刚注意到Both paths are invalid
WinMerge 提示底部的消息(并更新了屏幕截图以强调这一点)。看来这些文件根本不是由 difftool 生成的,或者路径有问题。
git - Git difftool 问题:无法创建临时文件
我将 git 与 Kaleidoscope 配置为 difftool 一起使用。几个月来一直运行良好。一两天前它也在工作。今天,当我尝试做一个“git difftool”时,突然,git报告
在 google 上搜索表明这可能是本地 git repo 中的目录权限问题。但是即使在 git repo 上递归 chown 之后,情况也没有改善。
Git-difftool 文档没有提到它可能试图在哪里创建这个临时文件。有人对如何找到这个有任何想法吗?
git - Git:为 difftool 和 mergetool 配置模式
在 Mercurial 中,可以为外部差异和合并工具定义一种模式(以便仅对与指定模式匹配的文件调用它们):
如何在 Git 中定义这样的模式?
git-config(1) 中的 [mergetool] 部分没有提及任何模式、掩码或任何类似内容。
编辑:
这是我的 .git/config 的相关部分:
现在它适用于所有文件。
我希望仅对名称以结尾的文件调用 difftool 和 mergetool.ext
编辑:
我添加了一个包含以下内容的文件 .git/info/attributes:
我也加了
到我的 .git/config。
现在我跑
它调用 KDiff3 而不是我的 difftool。我做错了什么?
备注:我正在使用 difftool 而不是 mergetool,因为它更容易测试,并且我相信如果我设法配置 difftool,那么如何配置 mergetool 对我来说将是显而易见的。
编辑:
Difftool 现在可以工作了。
.git/配置:
.git/info/属性:
difftool.git.sh(在 PATH 中)
但是对 Windows 有一个副作用:git diff
现在会导致 APPCRASH。
编辑:
我已经想出了如何避免崩溃或挂起git diff
:应该使用或git difftool
调用:git diff
sh
sh -c "git diff"
git - .gitattributes 没有区别,在使用 git difftool 时尝试跳过文件
我已经阅读了 Git Pro 网站,并且在 StackOverflow 上阅读了多个答案,但遗憾的是我根本无法让 .gitattributes 为我工作。
每当我使用git difftool
时,它都会尝试显示二进制文件之间的差异,例如图像文件 (PNG)。
我在我的 .gitattributes 文件中尝试了多种组合,但是每当我运行我的git difftool
命令时,它仍然会尝试比较二进制文件。
在我的存储库的文件夹中,我有:
.git
.gitattributes
[我的项目的文件子目录]
我为我的 .gitattributes 文件尝试了许多过滤器组合。例如:
*.pbxproj 二进制
*.png 二进制
或者还有:
*.pbxproj 二进制 -diff
*.png 二进制 -diff
甚至:
*.pbxproj 二进制
*.png 二进制
*.pbxproj -diff -difftool
*.png -diff -difftool
每次,我只需将我的 .gitattributes 文件添加到索引中并提交它。但是,这样做之后,当我运行 mygit difftool
检查两个分支之间的差异时,会发生这种情况:
git difftool otherBranch HEAD
查看:“MyApp.xcodeproj/project.pbxproj”点击返回以启动“diffmerge”:
查看:“MyApp/Background1.png”点击返回以启动“diffmerge”:
它怎么会这样?如何最终正确设置我的 .gitattributes 文件,这样我就不必查看这些特定文件的差异?
为了进一步调查,我使用了git check-attr
如下命令:
git check-attr binary MyApp/MainBackground.png
输出是MyApp/MainBackground.png: binary: set
......我想知道为什么 git difftool 仍然强迫我查看差异!
git - 为什么“git difftool”不直接打开工具?
我git
是这样配置的:
当我运行时:
我收到以下消息:
然后,如果我按Enter,meld
将启动。
如何禁用此消息,以便meld
在键入后立即启动git difftool
?