我使用git diff --name-status
来追踪哪些文件在两次提交之间被修改/添加/删除/重命名/复制,并且效果很好。如何限制git-diff到一个目录而没有子目录?
现在假设我移动文件file1
到newdir/file1
,提交,然后运行git的差异,我得到这个:
$ git diff --name-status -C HEAD~1 HEAD
R100 file1 newdir/file1
有没有办法让git的把自己局限到里面给定的更改列表目录但不是它的孩子?我想单独了解根目录和newdir
目录的确切更改。对于newdir
,很容易:
$ git diff --name-status -C HEAD~1 HEAD -- newdir
A newdir/file1
...但我怎么能获得在根目录下的“互补” DIFF信息?即,此输出:
$ git diff ???
D file1
注意,我想保持-C
选项来检测在同一目录中重命名和复制。
'git diff .. - '为我工作。 –
sholsinger
2014-02-11 20:30:04