如何在没有git的情况下彻底比较两个目录?

如何在没有git的情况下彻底比较两个目录?

这里彻底的意思是“列出所有不同的文件,找到那些同名但内容不同的文件,列出内容的差异”。

在我得到一个懒惰的解决方案之前,git init一个目录并将另一个目录复制到其中。然后使用git diff查看差异。

但我想知道还有另一种更聪明的方法吗?于是我提出了这个问题。

答案1

diff -Naur dir1/ dir2/

顺便说一下,对于提交软件补丁非常有用:diff -Naur orig/ patched/ > my_changes.diff

答案2

为了补充 @Bandrami 的响应,因为我遇到了 @Zen 所做的同样的问题:在diffing 目录之前,请确保清除了所有二进制文件和代码无关的文件dir2/然后比较两个目录。例如:

$ cd dir2
$ make clean
$ cd ..
$ diff -Naur dir1/ dir2/

相关内容