我有两个文件夹(包含不同的代码),已经使用git进行了初始化。但是当我执行以下操作时:
git difftool -t meld
一个仓库正常工作,并询问是否要打开文件进行比较。另一个仓库只是在控制台中输出所有内容,没有执行比较。
另外,两个.git/config文件相同(除了url)。
有人知道为什么吗?
如果您在一个存储库中处于冲突状态(通过git status
检查),则需要使用mergetool
,例如:
git mergetool -t meld
相关链接: git difftool 运行 git diff.
您可能已经在本地配置了diff.tool
,而不是全局配置(检查您的项目中的.git/config
文件和全局~/.gitconfig
文件的内容)。
要将meld设置为全局difftool:
git config --global diff.tool meld
如果您尝试检查两个git分支之间的差异,但它们之间没有任何实际代码差异,Meld将无法启动。
如果发生这种情况,请切换到另一个分支再试一次,或者进行小的代码更改然后再试一次。
希望这能节省某人的时间。
你是否可能已经配置了difftool
,但没有配置mergetool
,并且有未解决的冲突?
我发现类似的行为,当我有一个需要解决的现有冲突时。我想发生在我身上的事情是,git试图在我要求difftool
时启动mergetool
,以便提供帮助。我没有设置任何mergetool
,只有difftool
。当我使用git add
手动解决冲突后,difftool
又开始工作了。非常令人沮丧。