git --diff 类似于 Linux 本地目录的命令

git --diff 类似于 Linux 本地目录的命令

dir1 有 1 个文件,dir2 有 2 个文件,如下所示:

/tmp$ ls dir1
file1
/tmp$ cat dir1/file1 
line1
line2
line3
/tmp$ ls dir2
file1  file2
/tmp$ cat dir2/file1 
line1
/tmp$ cat dir2/file2
line1
/tmp$ diff -ur dir1 dir2 | diffstat
 file1 |    2 --
 file2 |only
 2 files changed, 2 deletions(-)

我正在寻找一个命令来将 dir2 新文件中的行打印为插入(+)

dir2/file2 有一行,所以我想打印

2 files changed, 2 deletions(-), 1 insertions(+)

这个问题与目录统计摘要的差异(git diff --stat 就像非 git 存储库一样)

谢谢!

答案1

您需要使用-N(将丢失的文件视为空)选项diff。例如:

$ diff -N -u -r dir1/ dir2/ | diffstat 
 file1 |    2 --
 file2 |    1 +
 2 files changed, 1 insertion(+), 2 deletions(-)

答案2

你尝试过直接diff反对他们吗?diff -u dir1 dir2

如果您有 GUI,请查看kompare(有时在kdesdkRPM 中)和/或meld查找某些内容很多更好。

相关内容