git在.gitignore添加忽略文件不起作用
RenShiWei 2020/8/2 git
# 问题描述
使用git在.gitignore添加忽略文件不起作用,在此commit还是会提交,而且在IDEA中已经添加了的文件或者目录没有变灰,即没有忽略成功。
# 原因
.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了。说明在git库中已存在了这个文件,之前push提交过该文件。即文件已经被track(追踪)。
# 解决办法
# 方式一
将需要忽略的文件先复制出来,然后删除项目目录下的这些需要忽略的文件。(如果是编译后的文件,直接删除就可以)。
在.gitignore文件中添加对应的需要忽略的文件或者目录。
提交所做的修改到本地版本库,然后推送到远程的版本库。
如果文件变为灰色,说明成功
不过这样并不是很稳妥,而且文件多的话,比较麻烦。
# 方式二
思路:删除本地缓存,重新提交。
- 使用命令工具Git Bash,进入需要修改的工作目录
- 重置所有缓存(注意后面有个.)
git rm -r --cached .
1
- 将本地代码重新添加(注意后面有个.)
git add .
1
- 提交(让 .gitignore 文件夹生效,读取忽略文件)
git commit -m ".gitignore is now working"
1
此时,发现刚才忽略不掉的文件,已经变灰,说明忽略成功。
注意: 注意步骤2也可不删除全部缓存,只删除指定的缓存,例如:
git rm -r --cached */target/
1