Git 在第一次提交时继续在 .gitignore 中添加文件并推送到远程

Git keeps adding files in .gitignore on first commit and push to remote

我正在尝试进行第一次提交并推送到 github。最初我的 angular/cache 不在 git 忽略文件中。现在我已经添加了它并尝试提交和推送,但它一直包含 angular/cache 目录,即它一直在尝试添加我认为以前跟踪的内容。

我尝试过的事情:

git rm -r --cached . && git add . && git commit -am "Remove ignored files"
git push -u origin master

我也试过 git update-index --assume-unchanged .angular/cache

每次提交时我都会继续添加

检查 .git 忽略 文件中的规则并尝试 运行 以下命令。虽然您的使用使用 -r 标志,但在这种情况下使用 -rf 标志。

git rm -rf --cached .
git add .
git commit -m "gitignore is now working"
git push

应用于git rm命令的标志说明如下:

  • -f 覆盖安全检查以确保 HEAD 中的文件与暂存索引和工作目录的内容相对应。
  • -r 这是 'recursive' 的 shorthand。 git rm 在递归模式下工作时删除目标目录及其全部内容。

参考资料

.gitignore 文件仅防止未跟踪的文件被添加到索引 [1],因此如果您 运行 git add 不会添加此处列出的文件。它不会从索引中删除已添加的文件!为什么从索引中删除文件没有帮助我不知道,但如果你 rm -rf .git 文件夹并重新初始化一个新的存储库(即启动你的 git 存储库,它应该可以工作从零开始)。