我打电话git add <file>给命令后git status会给我看:
...
new file: <file>
Run Code Online (Sandbox Code Playgroud)
不知怎的,我无法通过使用它来管理它来获取相同的信息ls-files,它(ls-files -tc在这种情况下)会告诉我:
H <commited file>
H <other commited file>
H <file>
Run Code Online (Sandbox Code Playgroud)
新文件似乎没有命令行切换.该文件被报告为缓存,这没关系,但是我怎么知道它目前没有提交?
这是可能的ls-files或一些类似的命令(我不必解析大量的输出git status)?
And*_*ett 80
你想用git diff --cached.随着--name-only它将列出您在索引中相对于HEAD更改的所有文件.随着--name-status即可获得身份的象征也与--diff-filter您可以指定要显示哪些文件集("A"为新添加的文件,例如).使用-M开启移动侦测和-C如果你想让他们的拷贝检测.
为了最严格地阅读您所写的内容,git diff --cached --name-only --diff-filter=A将列出自HEAD以来添加的所有文件,这些文件在HEAD中不存在.
Mik*_*itz 42
澄清:这是一种显示我打算添加的文件的方法.这不是OP所寻求的,但我会留下这篇文章,以防它对其他人有用.
这似乎只显示我添加[到我的工作副本而不是索引]的文件,但是我的标准忽略模式不匹配:
$ git ls-files --others --exclude-standard
Run Code Online (Sandbox Code Playgroud)
如果没有--exclude-standard,它还会显示我运行时被忽略的文件git status.
获取所有新文件、修改文件和删除文件的简单方法:
git ls-files --others --modified --deleted --exclude-standard
Run Code Online (Sandbox Code Playgroud)
参考官方文档:https://git-scm.com/docs/git-ls-files
如果您希望查看新的/未跟踪的文件,请使用“--others”
如果您想查看修改后的文件,请使用“--modified”
如果您想查看已删除的文件,请使用“--deleted”
--exclude-standard 将排除 .gitignore 中指定的文件
| 归档时间: |
|
| 查看次数: |
77649 次 |
| 最近记录: |