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

Pat*_*ard 19 git gitignore

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

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

root@serveur [/home/***/***]# git push origin master
Password:
Counting objects: 110300, done.
Run Code Online (Sandbox Code Playgroud)

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

dax*_*dax 53

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

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

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

git rm -r --cached .
Run Code Online (Sandbox Code Playgroud)

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

git add .
Run Code Online (Sandbox Code Playgroud)

承诺:

git commit -m ".gitignore is now working"
Run Code Online (Sandbox Code Playgroud)

  • 请注意,提交之前包括来自**的那些文件的提交仍将存在.因此,这不会使您的存储库变小,而git将在以后停止跟踪这些文件**. (3认同)