bash - 如何让 git 递归列出所有未跟踪的文件?
问题描述
我正在尝试获取以编程方式使用的未跟踪文件列表。
但是我似乎无法让 git 报告未跟踪目录中的未跟踪文件。它总是只列出包含文件的最低级别的目录。
我试过了:
git status --untracked-files=all
和
git ls-files --others --exclude-standard
暂存目录中的任何文件会使 git 报告目录中的所有其他文件,但我真的不想这样做。
此外,我可以使用 bash 列出所有文件 - 但是我必须让 git 告诉我其中哪些是 gitignored。
有没有办法纯粹用 git 来做到这一点?或者以其他方式使用其他工具执行此操作的有效方法?
解决方案
Git 不会扩展未跟踪的文件夹,这些文件夹也是 Git 存储库
这些被称为“嵌套的 Git 存储库”,并以gitlinks的形式记录在 Git 存储库中,这是父存储库索引中的一个特殊条目。
由于它们是一个条目(一种特殊的“文件”),它们不会关心-untracked-files=all
.
推荐阅读
- aws-lambda - 使用 AWS CodeBuild/pipeline 的本地 bitbucket 服务器中单存储库中的稀疏结帐子文件夹
- pandas - 将upper() 与contains() 链接在一个系列上
- r - 在 ggplot 中使用 facet_wrap 时的双 y 轴具有不同的 y 轴刻度
- html - 使用CSS垂直线中的多种颜色
- bash - Bash MySQL 转储 AWS Lambda
- python - 导入pyarrow时出现ModuleNotFoundError
- processmaker - Processmaker 案例在草稿文件夹中完成,而不是转到下一个分配用户的收件箱 - ProcessMaker
- java - 如何在 JavaFX 中将容器从一个窗口转移到另一个窗口
- vue.js - 将第三方 vue 组件连接到 vuex
- list - Prolog中的算术 - 数字的倍数