我正在尝试将 opendiff 设置为我的图形化 git difftool。换句话说,我希望 opendiff 打开一个图形窗口并在我git difftool
在命令行上键入时显示我的文件更改。我已将以下配置添加到我的~/.gitconfig
:
[diff]
tool = opendiff
[difftool]
prompt = false
[difftool "opendiff"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
当我git difftool
在大多数存储库中运行时,它会根据需要打开 opendiff,但在一个特定的存储库中,它总是只在终端中显示一个文本差异。
我git config --list
在两个存储库中都运行过,唯一的区别是您所期望的 - 源名称和分支名称,等等 - 所有差异设置都是相同的。
那么 - 还有什么可能导致 git 在这两个存储库中以不同的方式工作?
编辑:
行为不端的 repo 的内容.git/config
,略有编辑:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@<ORIGIN_URL>
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "develop"]
remote = origin
merge = refs/heads/develop
[branch "feature/FEATURE1"]
remote = origin
merge = refs/heads/FEATURE1
[branch "feature/FEATURE2"]
remote = origin
merge = refs/heads/FEATURE2
编辑2:
这是两个回购之间的差异git config --list
,略有编辑:
40c40
< remote.origin.url=git@<GOOD_REPO_URL>
---
> remote.origin.url=git@<BAD_REPO_URL>
42,43c42,47
< branch.master.remote=origin
< branch.master.merge=refs/heads/master
---
> branch.develop.remote=origin
> branch.develop.merge=refs/heads/develop
> branch.feature/FEATURE1.remote=origin
> branch.feature/FEATURE1.merge=refs/heads/feature/FEATURE1
> branch.feature/FEATURE2.remote=origin
> branch.feature/FEATURE2.merge=refs/heads/feature/FEATURE2
编辑3:
好吧,这很尴尬......我不能再重现这个问题了!现在它正如我预期的那样在两个存储库中工作。我发誓我没有改变任何东西,伙计们......只是从家里跑而不是工作。小精灵?