我正在尝试进行第一次提交并推送到github。最初我的angular/cache不在gitignore文件中。现在我已经添加了它,并尝试提交和推送,但它一直包括angular/cache目录,即它一直试图添加我认为以前跟踪的内容。
我尝试过的东西:
git rm -r --cached . && git add . && git commit -am "Remove ignored files"
git push -u origin master
我也尝试过git更新索引——假设没有变化。angular/cache
每次我在文件中不断添加
.gitignore
文件仅阻止未跟踪的文件添加到索引[1],因此如果运行git add
,则不会添加其中列出的文件。它不会从索引中删除已经添加的文件!为什么从索引中删除文件没有帮助,我不知道,但如果您rm -rf
.git
文件夹并重新初始化一个新的存储库(即从头开始您的git存储库(,它应该会起作用。
检查.gitignore文件中的规则,并尝试运行以下命令。当您使用-r
标志时,在本例中使用-rf
标志。
git rm -rf --cached .
git add .
git commit -m "gitignore is now working"
git push
应用于git rm
命令的标志描述如下:
-f
覆盖安全检查,以确保HEAD中的文件与暂存索引和工作目录的内容相对应-r
这是"递归"的简写。在递归模式下工作时,git-rm会删除目标目录及其全部内容
参考
- git-rm命令的用法
- gitignore不工作