在我已经将初始提交推送到我的git repo之后,我犯了创建gitignore文件的错误。
我的.gitignore很简单,只包含:
node_modules
我尝试了以下内容:
git rm --cached -rf .
git add .
git commit 'Fix untracked files'
git push
我还尝试删除项目目录中的.git
文件夹并重新初始化整个项目。
两次它仍然推送我的node_modules
目录!
我该如何解决这个问题?
答案 0 :(得分:4)
首先,从.gitignore文件中删除node_modules
(因此,.gitignore现在为空)。
清理git缓存并删除node_modules文件夹。
$ git rm -r --cached node_modules # clean git cache
$ rm -rf node_modules # delete node_modules
执行git添加,提交,推送到远程。现在,node_modules将从远程删除。
$ git add -A
$ git commit -m 'Delete node_modules'
$ git push origin HEAD
在.gitignore文件中添加node_modules
,清除git cache,生成node_modules文件夹。
# add 'node_modules/' into .gitignore
$ git rm -r --cached node_modules
$ npm i # generate node_modules
$ git status # see if git ignores node_modules folder now
执行git添加,提交,推送到远程。现在.gitignore包含node_modules,因此git将来会忽略该文件夹。
$ git add .
$ git commit -m 'Add node_modules in .gitignore'
$ git push origin HEAD