清除git本地缓存

时间:2017-01-25 23:19:32

标签: git

我有一个我即将提交的Webstorm项目,但在按下Git Windows GUI中的提交按钮之前,我记得我不想提交我的.idea文件夹内容。

所以我使用了为某些IDE自动生成.gitignores的网站,并将其添加到我的.gitignore文件中。

显式忽略的所有.idea文件仍然显示为提交,尽管我删除并重新添加了相关文件。

我还提交了没有任何其他文件的gitignore文件,并重新粘贴了我的内容,但它仍然没有忽略.idea文件。

如何告诉Git刷新或清除其缓存?
我尝试/进入相关目录,然后输入

git clean -n

但没有文件出现。

7 个答案:

答案 0 :(得分:56)

  

显式忽略的所有.idea文件仍然显示为提交

您必须从暂存区域中删除它们

git rm --cached .idea

现在你必须提交这些更改,从这一点开始它们将被忽略。
一旦git开始跟踪更改,即使它们稍后被添加到.gitignore文件,也不会“停止”跟踪它们。

必须明确删除它们,然后手动提交删除,以便完全忽略它们。

答案 1 :(得分:36)

当你认为你的git搞砸了,你可以用这个命令来做最新的事情。

git rm -r --cached .
git add .
git commit -am 'git cache cleared'
git push

还要恢复上次提交,请使用:

git reset HEAD^ --hard

答案 2 :(得分:14)

来自this

git rm -r --cached .
git add .
git commit -am 'git cache cleared'
git push

当您认为自己的git混乱并且表现得很时髦时,可以尝试清除git缓存并重新整理所有干净的东西……

确保您有两个破折号(--)。

答案 3 :(得分:5)

如果您对gitignore做任何更改,则还必须清除git缓存

> git rm -r --cached . 
> git add . 
> git commit -m 'git cache cleared'
> git push

如果要删除任何特定的文件夹或文件,则

git rm  --cached filepath/foldername

答案 4 :(得分:3)

在git-ignore文件中进行更改后,运行此命令,该命令将删除所有文件缓存,而不是文件或更改

git rm -r --cached。

执行此命令后,提交文件

要从缓存中删除单个文件或文件夹,请使用此命令

git rm-缓存的文件路径/文件夹名称

答案 5 :(得分:0)

git rm --cached *.FileExtension

这必须忽略此扩展名中的所有文件

答案 6 :(得分:0)

删除高速缓存的.idea /目录。 例如git rm -r --cached .idea