我经常使用以下命令列出两次提交之间更改的文件:
git diff --name-only SHA1 SHA2
它提供了一个像这样的文件列表:
/src/example/file1 /src/example/file2 /src/example/file3
这几乎没有用处。
我真的希望能够在每个文件旁边显示对更改状态的简要参考,指出文件是否已添加,修改或删除。
这是一个展示这个概念的例子:
git diff --name-only --and-how-me-the-change-status SHA1 SHA2
A /src/example/file1 M /src/example/file2 D /src/example/file3
更改状态(A,M,D)仅作为示例显示,我不介意这是什么,只要它是明确的。
我知道我可以使用--diff-filter
选项仅列出添加的文件,或仅列出已修改的文件或仅列出已删除的文件。使用此选项意味着我必须运行三个命令才能获得三个文件名列表。这很好,但可能更好。
我可以运行一个命令来提供上面的示例输出吗?
答案 0 :(得分:77)
使用--name-status
,它与--name-only
相同,加上已更改文件的状态:
git diff --name-status SHA1 SHA2