I want to get a quick overview of the local changes in my repository, but I don't want a diff that shows deleted files, since every single line is a minus.
Basically, I want something like 'git diff HEAD <list of modified files only>'
. In an ideal world, it would be preceded by the list of deleted and added files, but not show the diffs within them.
I was most of the way through writing a utility that does this:
git diff HEAD `git status | grep modified | cut -d : -f 2`
when I wondered if there was some git-y way to do it instead. Is there a flag I'm missing? I'd love to preserve the color output, too.
In Git versions 1.8.5 and newer, you can do this using the --diff-filter
option and specifying "d" (lowercase) to tell it to exclude deleted files.
$ git diff --diff-filter=d
In Git versions older than 1.8.5, you can do this with the --diff-filter
option and specifying all but the "D" (deleted) criteria:
$ git diff --diff-filter=ACMRTUXB
git diff -D
(or equivalently git diff --irreversible-delete
) will omit the diff body for deleted files. I don't think there's an equivalent for added files.
张贴几乎相同的答案Dan Moulding
,但你可能要指定你不想要的东西来展示,并隐藏删除的文件将是:
git diff --diff-filter=d
You also may use -M which try to find files that was moved
git diff -M -D
more may get more info with: git diff --help (option -B also could be interesting)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.