完全上演的git列表文件

时间:2014-10-29 18:13:08

标签: git shell command-line

是否有一个git命令列出已完全暂存的文件?我知道git diff --name-only(使用和不使用--cahced来查看未分级/暂存),但我想要一个完全暂存的文件列表,其中没有任何未分级的更改。

2 个答案:

答案 0 :(得分:2)

使用comm程序从暂存区和工作目录中过滤文件列表的输出。

comm -23 <(git diff --cached --name-only) <(git diff --name-only)

如果你愿意,可以将其别名为git fully-staged或其他内容。

答案 1 :(得分:0)

我相信你想要git status --porcelain

git status --porcelain | grep '^[^ ] ' | cut -d ' ' -f 2

来自man page

  

- 瓷

Give the output in an easy-to-parse format for scripts. This is similar to the short output, but will remain stable across Git
     

版本,无论用户配置如何。有关详细信息,请参阅下文。

此后文档中的Short FormatPorcelain Format部分。