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


当前回答

都是很好的答案;只是FEI,“git checkout”(切换到或在同一分支)似乎只显示修改过的文件。

其他回答

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

git show --stat --oneline HEAD

问题是我有太多的阶段性文件,我不想提交或gitignore的时刻,我不能向上滚动。

虽然这可能不能直接回答只列出修改过的文件的问题,但它可能有助于限制列出的文件数量。

您可以传递一个路径到git状态,以限制输出到repo中的特定文件夹。

例如:

git status app
git status spec
git status src/components
git status -s | awk '{if ($1 == "M") print $2}'

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

git ls-files -m

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

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

我使用这个命令:

$ git status -sb -uno | grep -v "^\sD\s"

输出如下所示:

## master...origin/master
 M GNUmakefile
 M include/mp4v2/project.h