下面介绍了如何打印工作树中与 Git 的多个 gitignore 源中任何位置的模式匹配的文件的完整列表(如果您使用 GNU find
):
$ cd {your project directory}
$ find . -path ./.git -prune -o -print \
| git check-ignore --no-index --stdin --verbose
它将检查存储库当前分支中的所有文件(除非您已在本地删除它们)。
并且它还识别特定的 gitignore 源代码行。
Git 会继续跟踪与 gitignore 模式匹配的某些文件的更改,因为这些文件已被添加。有用的是,上述命令也会显示这些文件。
负面的 gitignore 模式也会被匹配。然而,这些在列表中很容易区分,因为它们以 !
.
如果您使用的是 Windows, Git Bash 包含 GNU find
(由 揭示 find --version
)。
如果列表很长(并且你有 rev
),你也可以通过扩展(某种程度上)显示它们:
$ cd {your project directory}
$ find . -path ./.git -prune -o -print \
| git check-ignore --no-index --stdin --verbose \
| rev | sort | rev
有关详细信息,请参阅 man find
, man git-check-ignore
, man rev
和 man sort
.
整个方法的重点是 Git(软件)变化很快,而且非常复杂。相比之下,GNU find
非常 人 都会以不同的方式回答这个问题。
最佳答案是什么? 此 答案刻意将对 Git 知识的依赖降到最低,通过模块化(信息隔离)实现稳定性和简单性的目标,并旨在持久 使用 。