破坏了我的本地 git 存储库

Broke my local git repo

无论出于何种原因,我的 .gitignore 都无法忽略我的 node_modules 目录。当我执行 git status 时,它会返回一堆已删除和已修改的文件,这些文件位于它应该忽略的目录下,并且不会获取我自上次提交以来添加的文件。

我做错了什么?

回购是 here

我的 .gitignore 在这里:

node_modules
.idea

# compiled output
/public/vendor/my-app/dist
/public/vendor/my-app/tmp

# dependencies
bower_components

# IDEs and editors
/.idea

# misc
/public/vendor/my-app/.sass-cache
/public/vendor/my-app/connect.lock
/public/vendor/my-app/coverage/*
/public/vendor/my-app/lib/peerconnection.log
/public/vendor/my-app/npm-debug.log
/public/vendor/my-app/testem.log
/public/vendor/my-app/typings

# e2e
/public/vendor/my-app/e2e/*.js
/public/vendor/my-app/e2e/*.map

#System Files
.DS_Store

还有什么我可以粘贴的有帮助的吗?

在末尾试试斜线:

node_modules/

您已在子目录 node_modules 中跟踪文件。将目录添加到 .gitignore 文件不会取消跟踪这些文件。你必须自己做。

使用

git rm --cached -r node_modules

然后提交删除 node_modules 中的所有文件。使用 --cached,它们只会从 git(特别是索引,以及在提交后的存储库)中删除,而不会从您的文件系统中删除。

对于你问题的第二部分,你给出的评论让我得出结论,你正在使用 submodule 功能并且目录 public/vendor 实际上是一个子模块。请参阅 git 文档 here。您不能将子模块中的文件添加到主 git 存储库,因为这会破坏原始存储库和子模块之间的区别。