在项目文件夹想要忽略某文件, 可以创建gitignore文件,写入相应文件名。但有时候会遇到写入的gitignore后,git status显示没有排除该文件。之前git提交过
后再改写gitignore可能会出现这问题。此前遇到,记录一下。
原因
GitHub Docs中的解释:
If you want to ignore a file that is already checked in, you must untrack the file before you add a rule to ignore it. From your terminal, untrack the file.
1 | git rm --cached FILENAME |
即在gitignore文件中忽略以前提交过的文件需要先从cached中清除。
解决办法
1 | git rm -r --cached . |
上面的命令会清除以前的git历史,之后再次git add .
会重新添加所有文件,不嫌麻烦可以可以根据git status
查看不生效的文件名/夹单独清除缓存,使用git rm -r --cached file/directory