![如何在没有git的情况下彻底比较两个目录?](https://linux22.com/image/65298/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B2%A1%E6%9C%89git%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%BD%BB%E5%BA%95%E6%AF%94%E8%BE%83%E4%B8%A4%E4%B8%AA%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
这里彻底的意思是“列出所有不同的文件,找到那些同名但内容不同的文件,列出内容的差异”。
在我得到一个懒惰的解决方案之前,git init
一个目录并将另一个目录复制到其中。然后使用git diff
查看差异。
但我想知道还有另一种更聪明的方法吗?于是我提出了这个问题。
答案1
diff -Naur dir1/ dir2/
顺便说一下,对于提交软件补丁非常有用:diff -Naur orig/ patched/ > my_changes.diff
答案2
为了补充 @Bandrami 的响应,因为我遇到了 @Zen 所做的同样的问题:在diff
ing 目录之前,请确保清除了所有二进制文件和代码无关的文件dir2/
,然后比较两个目录。例如:
$ cd dir2
$ make clean
$ cd ..
$ diff -Naur dir1/ dir2/