git 分支之间的 difftool 目录

git difftool directories between branches

这个问题包含两个独立但密切相关的问题:

首先; 我正在尝试比较位于不同分支的两个文件 (THIS_BRANCH、OTHER_BRANCH)

文件 (file.txt) 路径已在分支之间移动。 THIS_PATH\file.txt 和 OTHER_PATH\file.txt(其中 THIS_PATH!=OTHER_PATH)

正在执行 git difftool THIS_BRANCH OTHER_BRANCH -- THIS_PATH\file.txt 这(预期)会产生将文件与不存在的文件进行比较的结果,本质上是将其与任何内容进行比较。

我如何使用 git difftool 做到这一点? [我正在使用 beyond compare(已经配置为我的 git difftool)]

第二; 同样,我想比较来自两个不同分支(THIS_DIR、OTHER_DIR)的两个目录,它们有不同的路径通往它们(THIS_PATH、OTHER_PATH)。同样,使用 beyond compare 作为我的 difftool。如何实现?

欣赏。

你可以运行git difftool [options] <blob> <blob>

其中 <blob> 可以是 <rev>:<path><path> 应该是 repo 根目录的相对目录。

例如

git difftool @:some/dir @^:some/other_dir