我想在磁盘上存在的文件和因移动它而不再存在的文件之间执行比较操作。
情况是这样的。
./src/A.txt
。A.txt
移至新文件夹。现在叫./doc/A.txt
。./doc/A.txt
。我现在想将
./doc/A.txt
与分支 ./src/A.txt
上存在的 origin/main
的状态进行比较。当然,这个文件实际上并不存在于当前工作目录中。
我认为一种可能的方法是执行以下操作:
git checkout origin/main ./src/A.txt
git diff ./src/A.txt ./doc/A.txt
(编辑:不 - 这不起作用。请使用
diff ./src/A.txt ./doc/A.txt
代替。)
有没有办法“直接”做到这一点?
也许类似
git diff ./src/A.txt@origin/main ./doc/A.txt
您可以使用 git diff 将两个提交与原始路径和新路径(origin/main 和 main)进行比较,然后缩小与相应提交的路径的比较范围。
git diff origin/main main -- src/test.txt doc/test.txt