Git仍然添加并跟踪.gitignore中标记的文件夹

时间:2013-08-24 12:45:12

标签: git gitignore

我在“.gitignore”文件中添加了一些Git中的文件夹。它们包含超过100k的文件。主要是图像,tmp和缓存的东西。我需要的是能够提交我的代码更改而不提交这些文件夹中发生的事情。

我认为将它们添加到“.gitignore”中可以解决问题,但由于某些原因它根本不起作用。我几天都无法向repo提交任何内容,因为每次尝试push命令时,它都会尝试发送100k文件然后冻结并超时。

root@serveur [/home/***/***]# git push origin master
Password:
Counting objects: 110300, done.

如何在考虑被忽略的文件夹的同时强制Git重新索引树,以便最终提交我对代码所做的所有更改?

1 个答案:

答案 0 :(得分:47)

它不起作用的原因(可能)是因为你在添加.gitignore之前添加了一些文件 - 因此你必须先将它们从git中删除才能被忽略。

来源:https://stackoverflow.com/a/1139797/2128691

首先,提交任何未完成的代码更改,然后运行以下命令:

git rm -r --cached .

这将删除索引中的所有内容,然后运行:

git add .

承诺:

git commit -m ".gitignore is now working"