是否可能有git状态只显示修改的文件,因为在我的情况下,有太多的阶段性文件?
当前回答
如果你想列出修改过的文件,你可以这样做:
git log -n1 --oneline --name-status | grep '^M'
其他回答
你可以使用
$ git status -uno
只列出修改过的文件。
git diff——name-only——diff-filter=M
所有的答案都很棒,但Git已经发展,现在提供了一个开箱即用的解决方案,只获得更改文件的名称(包括untracked)
git status --short
如果您需要脚本友好的输出,请使用推荐的—porcelain标志
git status --short --porcelain
要列出修改过的文件,请使用:
git ls-files -m
如果你只想要basename(没有路径),那么你可以使用xargs将每个结果一行一行地输送到basename命令:
git ls-files -m | xargs -L 1 basename
问题是我有太多的阶段性文件,我不想提交或gitignore的时刻,我不能向上滚动。
虽然这可能不能直接回答只列出修改过的文件的问题,但它可能有助于限制列出的文件数量。
您可以传递一个路径到git状态,以限制输出到repo中的特定文件夹。
例如:
git status app
git status spec
git status src/components
推荐文章
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- 在Ubuntu上安装Node.js
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域
- 我可以在GitHub上对要点进行拉请求吗?
- Hg:如何做一个像git的rebase
- 如何丢弃远程更改并将文件标记为“已解决”?