16

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

我查看了此链接,但没有帮助。

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

我运行了以下两个命令:

 git config --global merge.tool bc

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

我在 Windows 7 上使用 GIT。

谢谢 !!

4

4 回答 4

20

这个链接告诉如何在 git 中设置 BeyondComapre 作为 diff 工具

git config --global diff.tool bc3
git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"

要使用 Beyond Compare 启动差异,请使用命令“ git difftool foofile.txt”。

于 2014-03-26T10:36:31.910 回答
9

我将详细说明@SharpCoder 接受的答案。

我们运行的第一个命令如下:

git config --global diff.tool bc3

.gitconfig上面的命令在%userprofile%目录中创建以下条目:

[diff]
    tool = bc3

然后运行以下命令(在这种特殊情况下运行此命令是多余的,仅在某些特殊情况下需要。您很快就会知道):

git config --global difftool.bc3.path "c:/program files/beyond compare 3/bcomp.exe"

.gitconfig上面的命令在文件中创建以下条目:

[difftool "bc3"]
    path = c:/program files/Beyond Compare 3/bcomp.exe

这里要知道的是关键bc3。这是一个众所周知的 git 密钥,对应于市场上可用的知名比较工具的特定版本(bc3对应于 Beyond Compare 工具的第 3 版)。如果您想查看所有预定义的键,只需git difftool --tool-help在 git bash 上运行命令。它返回以下列表:

vimdiff
vimdiff2
vimdiff3
araxis
bc
bc3
codecompare
deltawalker
diffmerge
diffuse
ecmerge
emerge
examdiff
gvimdiff
gvimdiff2
gvimdiff3
kdiff3
kompare
meld
opendiff
p4merge
tkdiff
winmerge
xxdiff

您可以使用上述任何键或定义您自己的自定义键。如果您想完全设置一个不映射到上面列出的任何键的新工具(或新发布的知名工具版本),那么您可以自由地将它映射到上面列出的任何键或的您自己的自定义密钥。

如果您必须设置一个比较工具怎么办

  • 全新上市

或者

  • 现有知名工具的新版本已经发布,它没有映射到 git 中的任何预定义键

就像我的情况一样,我已经安装了 Beyond compare 4。Beyond compare 是一个众所周知的 git 工具,但它的版本 4 版本默认情况下没有映射到任何现有的键。因此,您可以遵循以下任何一种方法:

  1. bc3我可以将 Beyond compare 4 工具映射到对应于 Beyond compare 3 版本的现有密钥。我的电脑上没有超越版本 3,所以我不在乎。如果我愿意,我也可以将它映射到上面列表中的任何预定义键,例如examdiff.

    如果您将众所周知的工具版本映射到适当的已经存在/众所周知的密钥,那么您不需要运行第二个命令,因为它们的安装路径对于 git 是已知的

    例如,如果我在我的盒子上安装了比较版本 3 之外的版本,那么在我的.gitconfig文件中具有以下配置就足够了:

    [diff]
    tool = bc3
    

    但是,如果您想更改默认关联工具,那么您最终path会单独提及该属性,以便 git 了解必须启动新工具的 exe 的路径。这是狐狸 git 在比较 4 之外启动的条目。注意exe的路径:

    [difftool "bc3"]
    path = c:/program files/Beyond Compare 4/bcomp.exe
    
  2. 最简洁的方法是为新的比较工具或知名工具的新版本完全定义一个新密钥。就像我的情况一样,我定义了一个新键bc4,以便于记忆。在这种情况下,您必须同时运行两个命令,但第二个命令不会设置新工具可执行文件的路径。相反,您必须cmd为新工具设置属性,如下所示:

    git config --global diff.tool bc4
    
    git config --global difftool.bc4.cmd "\"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"\$LOCAL\" -d \"\$REMOTE\""
    

    .gitconfig运行上述命令会在您的文件中创建以下条目:

    [diff]
    tool = bc4
    [difftool "bc4"]
    cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" -s \"$LOCAL\" -d \"$REMOTE\"
    

我强烈建议您遵循方法#2,以避免将来给自己造成任何混乱。

于 2017-06-01T07:32:19.340 回答
2

除了比较之外,还有一个合并工具和一个差异工具。无论如何,我对这两种操作都有它。当我想查看当前状态与上次提交的差异时,我会写

    git diff 

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

   git difftool

用于多个文件的更改。还要记住,你可以做一个 git log,复制你提交的哈希值的第一部分,然后做一个

   git difftool (commit1) (commit2)

并逐个比较所有文件(非常高效且有用)

于 2014-08-28T15:07:39.870 回答
1

问题中提到的指令在我上次尝试时有效,但我认为你应该在 git bash 中运行命令并用正斜杠替换路径中的反斜杠。

git config --global merge.tool bc
git config --global mergetool.bc.path "C:/program files/Beyond Compare/BCompare.exe"
于 2014-03-26T09:30:14.843 回答