首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用BeyondCompare查看GIT中文件之间的差异

使用BeyondCompare查看GIT中文件之间的差异
EN

Stack Overflow用户
提问于 2014-03-26 08:00:56
回答 3查看 21.9K关注 0票数 16

在提交更改之前,我希望看到在GIT中使用BeyondCompare的区别。如何配置BeyondCompare以查看文件中的差异。

我看了看此链接,但没什么用。

BeyondCompare安装在我的系统中的这个位置:C:\program files\Beyond Compare\BCompare.exe

我按照两个命令运行:

代码语言:javascript
复制
 git config --global merge.tool bc

git config --global mergetool.bc.path "C:\program files\Beyond Compare\BCompare.exe"

我在Windows 7上使用GIT。

谢谢!!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-26 10:36:31

这个链接告诉我们如何将BeyondComapre设置为git中的diff工具。

代码语言:javascript
复制
git config --global diff.tool bc3
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"

若要使用“无法比较”启动diff,请使用命令"git difftool foofile.txt“。

票数 20
EN

Stack Overflow用户

发布于 2014-08-28 15:07:39

无可比拟的是一个合并工具和一个差异工具。不管怎么说,这两项手术我都有。当我想看到我当前的状态和最后一次被证明的状态之间的区别时,我会写

代码语言:javascript
复制
    git diff 

用于快速的文本输出和小的更改

代码语言:javascript
复制
   git difftool

用于多个文件中的更改。还请记住,您可以执行git日志,复制提交的哈希值的第一部分,并执行

代码语言:javascript
复制
   git difftool (commit1) (commit2)

并逐一比较所有的文件(非常有效率和有用)

票数 2
EN

Stack Overflow用户

发布于 2022-04-13 16:55:44

如果您使用的是和WSL,您可以配置git,以便在两个领域(Linux和)中使用您的windows diff和合并工具。

为windows设置.gitconfig很简单,但对于Linux来说并非如此。在我的例子中,我使用的是Beyond 3(安装在Windows上),并且在Windows和Linux中都配置了git,将其用作合并和区分工具。

我将描述如何在Linux中配置我的.gitconfig文件。我使用的是Ubuntu20.04,但我想在其他发行版中应该是类似的。幸运的是,合并工具不需要额外的设置。

配置合并工具

这个部分非常简单,您只需要在.gitconfig文件中添加以下配置:

代码语言:javascript
复制
[merge]
    tool = bc
[mergetool]
    keepBackup = false
    trustExitCode = true
    prompt = false
[mergetool "bc"]
    path = /mnt/c/Program Files/Beyond Compare 4/bcomp.exe

有一些额外的可选设置,但您可以简单地使用它,因为我做了一件重要的事情要注意的是合并工具路径。在我的例子中,我已经在我的c windows驱动器中安装了无可比拟的设备。

配置diff工具

对于diff工具来说,事情要复杂一些,而且需要付出更多的努力。您需要做的第一件事是创建一个单独的可执行文件。我不知道为什么需要这样做,但git文档是这么说的。

在我的例子中,我在\\wsl.localhost\Ubuntu\home\{your-user}\.local\bin\extDiff创建了自己的可执行文件,并授予它执行权限chmod +x extDiff

这是它的内容

代码语言:javascript
复制
#bin/bash
"/mnt/c/Program Files/Beyond Compare 4/bcomp.exe" "$1" "$2"

唯一缺少的就是更新.gitconfig文件

代码语言:javascript
复制
[diff]
    tool = bc
[difftool]
    prompt = false
[difftool "bc"]
    cmd = /home/{your-user}/.local/bin/extDiff `wslpath -m "$REMOTE"`  `wslpath -m "$LOCAL"` 

wslpath是一个将linux转换为windows路径的程序,反之亦然。在本例中,我调用先前定义的可执行文件,传递执行期间由git提供的$REMOTE$LOCAL vars。请注意,我必须将当前的Linux路径转换为Windows路径

现在一切都安排好了。下次您运行git difftoolgit mergetool时,将启动“无可比拟的Windows”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22654763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档