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