暂存文件的Git列表


112

我使用上演了很多文件git add,现在我想查看我已上演的所有文件,没有未跟踪的文件或已更改但未上演的文件。

我怎么做?使用时,git diff --cached我可以看到我刚刚上演的内容的变化。所以然后我尝试使用git status --cached--cached不幸的是无法使用git status


4
只需输入即可git status获得暂存文件列表,已修改但未暂存文件的列表以及未跟踪文件的列表。
houtanb 2015年


@houtanb,git status向您显示差异。(它不会显示所有暂存的文件)。
6

Answers:


198

最好的方法是运行以下命令:

git diff --name-only --cached

查看手册时,您可能会发现以下内容:

--name-only
    Show only names of changed files.

在手册的示例部分:

git diff --cached
    Changes between the index and your last commit.

组合在一起你会得到changes between the index and your last commitShow only names of changed files.

更新:在最新的git版本中,--staged也可以用作上述的别名--cached


13
这真的很有用,因为它允许您获取文件名列表,然后您可以(在我的情况下)通过管道在预提交钩子中传递给短绒。
海象

5
如果您使用添加文件git add -N [files],即使它们实际上尚未暂存以提交,它们也包括在内。因此,这并不是我们想要的预提交钩子。
Pistos

重新“ 最后提交 ”;误导。更好的说法git diff --cachedgit diff --cached head
Pacerier
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.