为什么有些文件不能被 .gitignore 识别?

Why are some files not recognized by .gitgnore?

我接手了一个Vue/Gridsome项目。该项目可以通过以下方式启动 docker-compose.yml 文件。启动节点容器后,.docker 文件夹中的所有文件(~4000 个文件)都已准备好用于 GIT 提交。

然后我在 .gitignore 中添加了 .docker 文件夹。而不是 ~4000 个文件 .docker 文件夹中现在只有 6 个文件。我想知道为什么 尽管我将整个文件夹 .docker 放入 .gitignore 个文件夹。

问题:为什么这些文件没有被忽略?

我的.gitignore

.bash_history (.docker/data/node)
update-notifier-npm.json (.docker/data/node/.config/configstore)
cli.json (.docker/data/node/.config/configstore/update-notifier-@gridsome)
anonymous-cli-metrics.json (.docker/data/node/.npm)
565911....de (.docker/data/.npm/index-v5/2b/b7)
30c54c....OO (.docker/data/.npm/index-v5/2b/b7)

.gitignore 当我克隆项目时

*.log
.cache
.DS_Store
src/.temp
node_modules
dist
.env
.env.*

然后我将 .docker 文件夹添加到 .gitgnore

.docker

从 Git 存储库中删除文件

.gitignore 中添加文件或目录不会为您从存储库中删除它们,因为这可能是一项代价高昂的操作。

必须再次删除您过去添加的文件。这样你可以用默认文件设置一些输出目录,但是当构建过程完成时不会添加额外的文件。

考虑使用 git rm:
https://www.atlassian.com/git/tutorials/undoing-changes/git-rm


添加到存储库的文件被视为已跟踪。所有更改都跟踪

当人们询问“还请确认您是否已经在跟踪这些文件”时。或“文件是否已被跟踪?” (@evolutionxbox) 他们正是在暗示这一点。