我有一个我即将提交的Webstorm项目,但在按下Git Windows GUI中的提交按钮之前,我记得我不想提交我的.idea
文件夹内容。
所以我使用了为某些IDE自动生成.gitignores
的网站,并将其添加到我的.gitignore
文件中。
显式忽略的所有.idea
文件仍然显示为提交,尽管我删除并重新添加了相关文件。
我还提交了没有任何其他文件的gitignore文件,并重新粘贴了我的内容,但它仍然没有忽略.idea文件。
如何告诉Git刷新或清除其缓存?
我尝试/进入相关目录,然后输入
git clean -n
但没有文件出现。
答案 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