我正在尝试做一些我认为应该很简单的事情。我在日志中有两个旧的提交,X和Y(其中X和Y是提交散列)。我想看到两个提交之间差异的可视化目录表示,所以我运行:
git difftool-d X Y
但这给了我大量的差异,而这些差异并不是两次提交之间的差异。
如果我从X创建分支b1,从Y创建分支b2,则该命令按预期工作(git-difftool-d b1 b2)。
有人能解释一下我在执行和思考方面的错误吗?
据我所知,无论是按SHA-1对象名称还是按分支名称指定提交,行为都应该没有区别(请参阅gitrevisions参考中的SPECIFING REVISIONS),所以这看起来可能是一个错误。
如果使用git difftool
而不是git difftool -d
,您得到正确的diff吗?如果你使用git diff
呢?(三者都应该给出一组变化——只是显示方式不同。)也许也可以尝试使用不同的工具来实际执行差异?