【问题标题】:Why git difftool does not open vimdiff in case of conflicts?为什么 git difftool 在发生冲突时不打开 vimdiff?
【发布时间】:2016-03-30 15:03:14
【问题描述】:

看完this, 通过在 ~/.gitconfig 中添加以下行,我将 git 配置为使用 vimdiff 作为 diff/merge 工具:

[diff]
        tool = vimdiff
[merge]
        tool = vimdiff
[difftool]
        prompt = false
[alias]
        d = difftool

git difftool 仍然只打印 diff(没有 vimdiff)。有什么想法吗?

更新。 似乎git difftool 工作正常,如果我在 repo 中有一些未提交的更改,即它按预期打开 vimdiff。但是如果我在与冲突合并后执行git difftool,它将无法打开 vimdiff。任何想法为什么?

【问题讨论】:

    标签: git vimdiff git-difftool


    【解决方案1】:

    好的,我找到了答案here。 在发生冲突时,必须使用git mergetool 而不是git difftool

    【讨论】:

      【解决方案2】:

      我不知道why。 但要修复它,请重置冲突文件的状态。

      git status
          both modified: mymyfile.txt
      
      git difftool myfile.txt #Fails
      git reset myfile.txt
      
      git status
          M myfile.txt
      
      git difftool myfile.txt #should work
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-26
        • 1970-01-01
        • 2019-01-22
        • 2012-09-12
        • 2015-12-09
        • 2011-01-21
        • 2016-04-07
        相关资源
        最近更新 更多