git difftool : how to compare zip files

标签 git git-diff beyondcompare3

我正在尝试使用“git difftool”比较二进制文件。这个文件也是暂存的,但似乎这并不重要。所以我使用如下所示的东西:

git difftool --staged /path/to/file

我的 .gitconfig 配置如下:

[difftool "bc3"]
    path = C:/Program Files (x86)/Beyond Compare 3/BComp.com
    cmd = BComp.com \"$LOCAL\" \"$REMOTE\" -lefttitle="Remote" -righttitle="$BASE" -lro
[diff]
    tool = bc3
[difftool]
    prompt = false

所以当我运行 git difftool 时它按预期打开 Beyond Compare,但是,我收到一个错误,表明基本二进制文件不存在。修改后的本地副本已正确加载到工具中。

我注意到 *.bcpkg(超越比较设置文件,基本上是一个 zip 文件)以及常规 *.zip 文件。但对于 *.exe 文件似乎工作得很好。我注意到的是git difftool除非 Beyond Compare 关闭,否则不应返回,因为如果它返回,它创建的临时文件将被删除。但如果是 zip 文件,它总是立即返回。

顺便说一下,所有其他文件类型的 diff 对我来说效果很好。我使用的是 Windows 7(64 位),如您所见,我已配置 Beyond Compare 3。

最佳答案

此问题已在 Beyond Compare 4 中修复。Beyond Compare 4 支持从 git 比较 zip 文件。

Beyond Compare 3 不支持从 git 比较 zip 文件。它将失败并显示错误消息:文件夹不可用:C:\Users\username\AppData\Local\Temp\42Ycl9_filename.zip

如果您想评估 Beyond Compare 4 来测试 zip 文件差异,请运行安装程序并选择创建可移植安装并安装到桌面上的文件夹中。这不需要管理员权限。然后运行 ​​git config --global difftool.bc3.path "c:/users/username/desktop/Beyond Compare 4/bcomp.exe" 使 git 使用可移植安装。完成测试后,只需删除桌面上的文件夹即可删除版本 4 的可移植安装。

要在评估版本 4 试用版后升级您的许可证,请填写 upgrade form在 Scooter Software 网站上。

关于git difftool : how to compare zip files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38862713/

相关文章:

带有作者过滤器的 git diff

beyondcompare3 - 忽略 Beyond Compare 中数字之间的微小差异

delphi - 在比较 Delphi 表单文件的版本时,如何使 Beyond Compare 忽略某些差异

git - 使用 git 比较来自两个提交的一个文件

node.js - 如何在 package.json 文件中添加 git repo

git:获取沿一个特定文件修改的文件列表

git - Nested GIT Repository 错误的删除方法?

git - 使用 git diff,如何获取添加和修改的行号?

macos - 警告 : Your version of git is 1. 9.3。存在严重的安全漏洞