无法在我的项目中获取包含 .gitignore 文件的列表

Can't get a list with the .gitignore files in my project

我在我的 class 项目中,我需要列出子文件夹中被我的 git 忽略文件忽略的所有文件。我使用了 git 检查忽略,但我没有得到隐藏文件(以 .

开头的文件

这里是问题:

Write a short shell script that will return the list of existing ignored files in your git repository that are currently present in your local repository.

如果这有助于我们在这个项目中使用的 git 版本是 2.20

git check-ignore 可能不会像您期望的那样工作。来自文档:

For each pathname given via the command-line or from a file via --stdin, check whether the file is excluded by .gitignore

所以您可能想调用 git check-ignore path/to/my/project 但这不是它的设计方式。相反,您必须执行以下操作

cd path/to/my/project
git check-ignore ignored-file.txt
# Output: ignored-file.txt
git check-ignore project-file.txt
# Output: 

因此,在bash 中,您可以使用* 模式匹配扩展到当前目录中的所有文件,并使用**/* 扩展当前目录及其子目录中的所有文件。要包含隐藏文件,可以使用 .***/.*

git check-ignore **/* **/.*

您将获得 .gitignore 实际忽略的文件的完整列表