当我这样做时,git status我得到一个前缀为的文件列表new file:.我怎么才能得到这个清单?我想在一个小shell脚本的简单循环中处理这些文件.
and*_*ens 86
不要使用grep来解析git输出.Git几乎可以肯定你有内置的东西(除非你想要非常高级的东西).
您可以使用它git diff来显示更改.--name-only仅显示文件名.--diff-filter=A仅列出添加的文件.
如果要查看已添加到索引的新文件,请将其--cached省略.要看到两个差异HEAD.
命令如下所示:
git diff --name-only --diff-filter=A --cached # All new files in the index
git diff --name-only --diff-filter=A # All files that are not staged
git diff --name-only --diff-filter=A HEAD # All new files not yet committed
Run Code Online (Sandbox Code Playgroud)
Kei*_*lan 17
它可能更优雅,而不是解析"git status"的输出
git ls-files -o --exclude-standard
Run Code Online (Sandbox Code Playgroud)
与此相关git status,ls-files将产生相对于您的工作目录的输出.
您可能希望包含以下--full-name选项:
git ls-files -o --exclude-standard --full-name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39030 次 |
| 最近记录: |