作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
当我执行 git status
时,我得到一个前缀为 new file:
的文件列表。我怎样才能得到这个列表?我想在一个小 shell 脚本中的一个简单循环中处理这些文件。
最佳答案
下面的命令不再给出预期的结果,我可能原本也犯了一些错误。请仔细检查您的输出和您使用的选项。尽管如此:使用 diff-filter 的基本原则仍然适用。
不要使用 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
关于git:仅列出新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000163/
我是一名优秀的程序员,十分优秀!