标签: kdiff3

Git:如何将KDiff3配置为合并工具和差异工具

最近我使用的是GitExtension 2.46,但具有相同功能的Git版本是1.9.4.msysgit.2.我只想使用Git命令,我卸载了GitExtension并安装了GitKDiff3的最新版本.

当我进行合并并发生冲突时,我运行以下命令:

$ git mergetool
Run Code Online (Sandbox Code Playgroud)

然后我收到消息:

合并工具kdiff3不能用作'kdiff3'.

我猜它必须是KDiff3路径.

环境

  • 操作系统:Windows 10
  • Git 2.6.1.windows.1
  • KDiff3 0.9.98(64位)

问题:

  • 我必须在.gitconfig文件中配置如何$ git mergetool使用版本LOCAL,REMOTE,BASEMERGED冲突文件打开KDiff3 GUI 的命令?

  • 如何配置它使用它有diff-tool?

git mergetool git-merge kdiff3

196
推荐指数
8
解决办法
15万
查看次数

KDIFF合并中的A,B和C是什么

为什么在我的代码和其他人之间合并时,我有三个选择?不应该只有我的代码,其他人的代码和下面的输出?KDIFF的文档无法帮助我理解.

version-control merge kdiff3

74
推荐指数
4
解决办法
3万
查看次数

KDiff3:"有一种线端风格冲突"

我正在尝试使用KDiff3来解决Windows上的冲突.但是当运行合并时,我得到:

KDiff3:"有一种线端风格冲突"

没有任何合并/解决:

第一个截图

即使我在运行合并之前选择了DOS行结束:

第二个截图

有任何想法吗?

如果我只是保存而不是按下合并按钮,它似乎有效.这可能是一个解决方案.

kdiff3

73
推荐指数
2
解决办法
2万
查看次数

如何配置kdiff3而不是emerge作为git mergetool?

我在mac OSX Snow Leopard上有Git,我试图编辑我的merge和diff工具来使用kdiff3而不是emerge.

但是当我尝试使用它时,它不会启动kdiff的GUI并让我使用基于cmd的界面.

我在gitconfig中的设置是:

[merge]
     tool = kdiff3
[mergetool "kdiff3"]
    cmd = /Applications/kdiff3.app/Contents/MacOS/kdiff3
    args = $base $local $other -o $output
    trustExitCode = false
[diff]
tool = kdiff3
[difftool "kdiff3"]
cmd = /Applications/kdiff3.app/Contents/MacOS/kdiff3
args = $base $local $other -o $output
trustExitCode = false
Run Code Online (Sandbox Code Playgroud)

显然有些东西不见了,但我做错了什么?

git macos merge config kdiff3

55
推荐指数
1
解决办法
4万
查看次数

KDiff3中的手动差异对齐

KDiff3中的"添加手动差异对齐"似乎没有做任何事情.在线文档相当稀疏.

这个功能真的有效吗?

kdiff3

43
推荐指数
1
解决办法
4768
查看次数

我怎么能强制mergetool GUI(KDiff3)总是显示?

如何强制始终显示mergetool GUI并禁用任何自动解析?

有时,当有合并过程中发生冲突,我使用合并工具,它只是立即返回,我打后Enter的问题"回车,启动合并解决工具(kdiff3)",并没有GUI显示,冲突似乎得到解决.

我让Git配置为现在使用KDiff3作为mergetool,但是当我codecompare指定mergetool 时也发生了.我知道在KDiff3 中有一个选项"自动保存并退出合并而没有冲突",这理论上可能导致所描述的行为,但我一直禁用/取消选中此选项.

此外,在Git mergetool gitconfig中直接有trustExitCode选项,我将其设置为true,但即使我将其设置为false,也不会显示GUI.

我不知道是谁自动解决了.Mergetool在一些预处理或KDiff3?

我在Windows上运行并安装了Git扩展.

类似于KDiff3的问题,也在这里被问到:Kdiff3不会用mergetool命令打开

git mergetool git-merge kdiff3

29
推荐指数
2
解决办法
1万
查看次数

如何将kdiff3设置为SVN的合并工具

当SVN通知我冲突时,我希望能够使用kdiff3解决冲突.如何将其设置为此默认工具?

svn merge conflict kdiff3

27
推荐指数
1
解决办法
2万
查看次数

Kdiff3不会使用mergetool命令打开

我有冲突,所以我键入:

git mergetool
Run Code Online (Sandbox Code Playgroud)

然后我收到一条消息说:

点击返回以启动合并解析工具

通常当我这样做时,它打开kdiff3,所以我可以合并差异.

现在,当我这样做时,它只是继续到下一个文件,并且kdiff3根本不打开.

我三倍感谢我的git配置和我的系统路径,一切看起来都很完美.配置文件如下:

 [merge]
    tool = kdiff3
 [mergetool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
 [diff]
    guitool = kdiff3
 [difftool "kdiff3"]
    path = c:/Program Files (x86)/KDiff3/kdiff3.exe
 [core]
    editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor   autocrlf = true
 [user]
    name = James Farrell
    email = info@jamespfarrell.com
 [github]
    user = whygosystems
    token = 87d00c2e613b3a7c8c1be817b75b8a33
 [diff]
    external = C:/Program Files (x86)/Git/cmd/git-diff-wrapper.sh
Run Code Online (Sandbox Code Playgroud)

任何人有任何想法可能是错的?

我有一种感觉(虽然我可能是错的,这是一个问题,因为我安装了新的Github Windows客户端)....

git kdiff3 git-bash

23
推荐指数
2
解决办法
2万
查看次数

ediff合并可以同时显示祖先,A,B和合并缓冲区吗?

我是一个顽固的emacs用户,但到目前为止一直用于kdiff3与祖先的三向合并,例如在表演时git mergerebase.我真的很喜欢kdiff3不仅可以同时显示正在合并的文本的所有四个版本的方式:

  • 共同的祖先(缓冲区A in kdiff3)
  • "我们的"又名"本地"(缓冲区B in kdiff3)
  • "他们的"又名"远程"(缓冲区C in kdiff3)
  • 合并结果或目标

但也可以通过颜色突出显示A,BC之间的差异.然而,与合并缓冲区的文本编辑kdiff3相比,毫不奇怪emacs,因为kdiff3它不是一个完整的文本编辑器.它也没有开箱即用的优秀magit包装.所以我想切换到使用ediff解决这一冲突时,特别是方案(我已经成功地使用ediff其他使用案例多年).

但是,尽管阅读了ediff手册EmacsWiki页面,并询问#emacsIRC,我找不到同时显示所有4个缓冲区的方法.默认情况下显示:

  • "我们的"又称"本地"(标记为缓冲区A)
  • "他们的"又名"远程"(标记为缓冲区B)
  • 合并结果或目标(标记为缓冲区C)

按下/切换显示合并结果缓冲区(C)的窗口,以便显示祖先缓冲区,但您无法同时看到祖先和合并结果.(此外,祖先缓冲区中的差异以单一颜色突出显示,但没有清楚地显示哪些位与其他两个可见缓冲区(AB)不同,尽管根据此线程,似乎不幸的是祖先差异细化还没有还没有实现.)

是否有一种简单的方法来配置 …

emacs diff merge kdiff3 emacs-ediff

19
推荐指数
1
解决办法
1570
查看次数

如何在Mac OS中设置kdiff3?

.gitconfig文件中我按如下方式设置了git diff:

[diff]
    tool = kdiff3

[difftool "kdiff3"]
    path = path_directory/kdiff3.app
Run Code Online (Sandbox Code Playgroud)

在此设置中,无法访问kdiff,当我在终端中运行时出现以下错误

>> git difftool
The diff tool kdiff3 is not available as 'Kdiff_local_software_path/kdiff3.app'
fatal: external diff died, stopping at modified_file
Run Code Online (Sandbox Code Playgroud)

你有什么建议可以解决这个问题吗?在我目前的设置Mac OS 10.10.5 git diff工具是git merge tool我想用kdiff替换.

git osx-leopard git-diff kdiff3 git-difftool

18
推荐指数
4
解决办法
1万
查看次数