最近我使用的是GitExtension 2.46,但具有相同功能的Git版本是1.9.4.msysgit.2.我只想使用Git命令,我卸载了GitExtension并安装了Git和KDiff3的最新版本.
当我进行合并并发生冲突时,我运行以下命令:
$ git mergetool
Run Code Online (Sandbox Code Playgroud)
然后我收到消息:
合并工具kdiff3不能用作'kdiff3'.
我猜它必须是KDiff3路径.
环境
问题:
我必须在.gitconfig文件中配置如何$ git mergetool
使用版本LOCAL,REMOTE,BASE和MERGED冲突文件打开KDiff3 GUI 的命令?
如何配置它使用它有diff-tool?
为什么在我的代码和其他人之间合并时,我有三个选择?不应该只有我的代码,其他人的代码和下面的输出?KDIFF的文档无法帮助我理解.
我正在尝试使用KDiff3来解决Windows上的冲突.但是当运行合并时,我得到:
KDiff3:"有一种线端风格冲突"
没有任何合并/解决:
即使我在运行合并之前选择了DOS行结束:
有任何想法吗?
如果我只是保存而不是按下合并按钮,它似乎有效.这可能是一个解决方案.
我在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)
显然有些东西不见了,但我做错了什么?
如何强制始终显示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命令打开
当SVN通知我冲突时,我希望能够使用kdiff3解决冲突.如何将其设置为此默认工具?
我有冲突,所以我键入:
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客户端)....
我是一个顽固的emacs
用户,但到目前为止一直用于kdiff3
与祖先的三向合并,例如在表演时git merge
或rebase
.我真的很喜欢kdiff3
不仅可以同时显示正在合并的文本的所有四个版本的方式:
kdiff3
)kdiff3
)kdiff3
)但也可以通过颜色突出显示A,B和C之间的差异.然而,与合并缓冲区的文本编辑kdiff3
相比,毫不奇怪emacs
,因为kdiff3
它不是一个完整的文本编辑器.它也没有开箱即用的优秀magit
包装.所以我想切换到使用ediff
解决这一冲突时,特别是方案(我已经成功地使用ediff
于其他使用案例多年).
但是,尽管阅读了ediff
手册和EmacsWiki页面,并询问#emacs
IRC,我找不到同时显示所有4个缓冲区的方法.默认情况下显示:
按下/
切换显示合并结果缓冲区(C)的窗口,以便显示祖先缓冲区,但您无法同时看到祖先和合并结果.(此外,祖先缓冲区中的差异以单一颜色突出显示,但没有清楚地显示哪些位与其他两个可见缓冲区(A和B)不同,尽管根据此线程,似乎不幸的是祖先差异细化还没有还没有实现.)
是否有一种简单的方法来配置 …
在.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替换.