是否可能有git状态只显示修改的文件,因为在我的情况下,有太多的阶段性文件?


当前回答

要列出修改过的文件,请使用:

git ls-files -m

如果你只想要basename(没有路径),那么你可以使用xargs将每个结果一行一行地输送到basename命令:

git ls-files -m | xargs -L 1 basename

其他回答

要列出修改过的文件,请使用:

git ls-files -m

如果你只想要basename(没有路径),那么你可以使用xargs将每个结果一行一行地输送到basename命令:

git ls-files -m | xargs -L 1 basename

所有的答案都很棒,但Git已经发展,现在提供了一个开箱即用的解决方案,只获得更改文件的名称(包括untracked)

git status --short

如果您需要脚本友好的输出,请使用推荐的—porcelain标志

git status --short --porcelain

看起来git status -uno只会显示git正在跟踪的文件,而不会显示目录中的其他内容。这并不完全是您所要求的,但可能完成了相同的事情(获得git跟踪的可读长度的文件列表)。

对于已修改的文件:

git status | grep modified:

要列出所有修改过的文件,使用:

git show --stat --oneline HEAD