git status只能修改文件吗?

是否可以将git status和只显示修改的文件?

问题是我有太多的阶段性文件,我不想提交或gitignore此刻,我不能向上滚动。 我有一个在Ubuntu上设置的回滚限制。

你不能用git status来做这个,但是你可以用git ls-files -m来显示所有修改过的文件。

它看起来像git status -uno将只显示git正在跟踪的文件,而不会在目录中显示任何其他内容。 不完全是你所要求的,但也许完成相同的事情(获得git跟踪文件的可读长度列表)。

 git status -s | awk '{if ($1 == "M") print $2}' 

对于修改的文件:

 git status | grep modified: 

git diff --name-only起作用。

git diff --name-only --diff-filter=M

我用git cola 。 它是一个简单而优雅的用户界面,将显示您修改后的文件,并为您提供像您所做的更改的差异的差异。

git cola为您提供了一个GUI,您可以在其中显示您修改了哪些文件,执行了哪些文件,甚至是不跟踪的文件。 你的问题是只使用git status,但是我认为git cola可以帮助你解决这个问题。 从更多信息检查这个网页: git-cola.github.com/screenshots.html

如果你想列出修改后的文件,你可以这样做:

git log -n1 --oneline --name-status | grep '^M'

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

 git ls-files -m 

如果你只需要basename(没有path),那么你可以使用xargs将每个结果通过pipe道传递给basename命令:

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