使用git difftool显示原始文件名
我将xxdiff与git difftool一起使用,但是其他GUI diff工具也有同样的问题。通常,使用git difftool显示原始文件名,git,git-diff,git-difftool,Git,Git Diff,Git Difftool,我将xxdiff与git difftool一起使用,但是其他GUI diff工具也有同样的问题。通常,git difftool必须将要比较的文件保存为名为/tmp/i2mLYu\u MyHeader.h的临时文件。这是一个相对于工作树可能是client/api/include/MyHeader.h的文件。像xxdiff这样的Diff工具显示临时文件的名称,通常在标题栏中,或者在Diff的每一侧上方。这使得理解正在查看的文件很不方便,尤其是当多个文件具有相同的基本名称时 是否有方法恢复原始的基于树
git difftool
必须将要比较的文件保存为名为/tmp/i2mLYu\u MyHeader.h的临时文件。这是一个相对于工作树可能是client/api/include/MyHeader.h的文件。像xxdiff这样的Diff工具显示临时文件的名称,通常在标题栏中,或者在Diff的每一侧上方。这使得理解正在查看的文件很不方便,尤其是当多个文件具有相同的基本名称时
是否有方法恢复原始的基于树的路径,以便可以显示它们?必须在diff工具周围编写一个包装器就可以了
谢谢
Jim如果要比较两次提交或整个工作树中的更改,请尝试
git difftool-d
它将签出两个repo副本以进行比较,每个文件都将有一个相关的相对路径名。如果要比较两次提交或整个工作树中的更改,请尝试
git difftool-d
它将签出两个repo副本进行比较,每个文件都有一个相关的相对路径名。不幸的是,我认为答案是否定的:Git difftool代码没有将原始路径保存到任何有用的地方。如您所见,它至少会将文件的基名称附加到临时文件的末尾。如果它将原始名称传递到某个地方(可能是在一个env变量中),那就太好了。但我不能完全确定这一点,因为我从未使用过
git difftool
。不幸的是,我认为答案是否定的:git difftool代码不会将原始路径保存到任何有用的地方。如您所见,它至少会将文件的基名称附加到临时文件的末尾。如果它将原始名称传递到某个地方(可能是在一个env变量中),那就太好了。我不完全确定这一点,因为我从来没有使用过git difftool
。这样提供的目录差异在某些方面甚至更有用,并且文件和目录名更合理。谢谢。这不完全是我想要的,但非常接近。这样提供的目录差异在某些方面甚至更有用,并且文件和目录名更合理。谢谢