已经在.gitignore中忽略某个文件,还是会进行提交

一、问题

  • git上传的时候,我们已经将 xxx 文件添加到了.gitignore 中,但是在push 后,远程仓库还是会显示此文件。

二、原因

  • xxx 文件在前面已经被 git 跟踪,在这之后再添加到 .gitignore 中是无效的。

三、解决方法

git rm -r --cached 文件/文件夹名字

# 去掉已经托管的文件,然后重新提交
git add .
git commit -m '提交说明'

 注意:不要误解了.gitignore的用途,该文件只能作用于未被跟踪的文件,也就是那些从来没有被git记录过的文件(自添加以后,从未add及commit过的文件)。如果文件曾经被git记录过,那么.gitignore就对他们完全无效。

四、扩展

已经在.gitignore中忽略某个文件,还是会进行提交

 当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用:

 git rm file_path
 git commit -m 'delete somefile'
 git push