git diff --no-index --no-prefix --summary -U4000 directory1 directory2
这可以正常工作,因为它返回两个目录之间所有文件的差异。按预期添加输出的文件,删除的文件也会导致预期的diff输出。
但是因为diff将文件路径作为文件名的一部分考虑在内,所以在两个不同的目录中具有相同名称的文件会导致带有重命名标志的diff输出而不是更改。
有没有办法告诉git不要考虑差异中的完整文件路径,只看文件名,好像文件来自同一个目录?
有没有办法让git实际知道实际上是否重命名了不同目录中同一文件的副本?我不知道如何,除非它有办法比较文件md5s以某种方式或某事(可能是一个糟糕的猜测大声笑)。
使用分支而不是目录可以轻松解决此问题,如果是这样,上面列出的命令的分支版本是什么?