Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git配置差异,合并参数说明_Git_Merge_Diff_External - Fatal编程技术网

Git配置差异,合并参数说明

Git配置差异,合并参数说明,git,merge,diff,external,Git,Merge,Diff,External,关于如何使用外部diff和merge配置git,有很多解释 不幸的是,这些教程对我不起作用 我想要/需要什么:使用高级图形差异,如meld、windiff等 行为 系统: Windows 7 x64 非管理员 使所有应用程序都可移植 为了进一步调试问题,我使用 $ git config -l core.symlinks=false core.autocrlf=true color.diff=auto color.status=auto color.branch=auto color.inter

关于如何使用外部diff和merge配置git,有很多解释

不幸的是,这些教程对我不起作用

我想要/需要什么:使用高级图形差异,如meld、windiff等

行为

系统: Windows 7 x64
非管理员
使所有应用程序都可移植

为了进一步调试问题,我使用

$ git config -l
core.symlinks=false
core.autocrlf=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain
rebase.autosquash=true
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.required=true
filter.lfs.process=git-lfs filter-process
credential.helper=manager
user.name=Niehues Thorsten - Munich-MEAG - external
user.email=sniehues@meag.com
merge.tool=kdiff3
mergetool.kdiff3.path=C:/Users/MZ10387/apps/KDiff3-64bit-0.9.98-2/kdiff3.exe
mergetool.kdiff3.trustexitcode=false
diff.guitool=kdiff3
difftool.kdiff3.path=C:/Users/MZ10387/apps/KDiff3-64bit-0.9.98-2/kdiff3.exe
difftool.kdiff3.trustexitcode=false
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
gui.wmstate=normal
gui.geometry=893x435+292+288 175 196
merge.tool=winmerge
这会产生以下问题

  • 为什么git gui试图使用Meld?(不在git配置中)
  • 我确实看到参数
    merge.tool=kdiff3
    merge.tool=winmerge
    都是通过教程中的命令行添加的。为什么它们不被覆盖,哪一个是前导的
  • git diff
    返回时没有输出`

解决问题

  • 使用SourceTree Portable(下载安装)
  • 转到工具→ 选择权→ Diff
    这将在必要时询问路径

  • 我也有这个问题,所以您可以选择gitk的“Edit”->“preferences”->“General”->“External diff”设置来尝试更改difftool的路径。然后找到标签“External diff tool”,单击“choose”botton,为difftool选择正确的路径。

    是否配置是存储库的本地配置,或者在.gitconfig之外的其他工具中指定?您是从命令行使用git还是使用图形工具?从您的屏幕截图来看,这似乎是图形化的,是否该工具有自己的配置?我确实使用GitBash和GitGUI。错误消息来自git Gui,请考虑添加有关您答案的详细信息,以便其他人更好地理解。好的,我更改了我的答案。是否更好?