列出Git提交之间具有更改状态的所有已更改文件(已添加,已修改,已删除)

时间:2013-03-07 12:36:45

标签: git git-diff

我经常使用以下命令列出两次提交之间更改的文件:

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选项仅列出添加的文件,或仅列出已修改的文件或仅列出已删除的文件。使用此选项意味着我必须运行三个命令才能获得三个文件名列表。这很好,但可能更好。

我可以运行一个命令来提供上面的示例输出吗?

1 个答案:

答案 0 :(得分:77)

使用--name-status,它与--name-only相同,加上已更改文件的状态:

git diff --name-status SHA1 SHA2