Git某些情况下配置 .gitignore 忽略文件后不生效

项目中有个配置文件,由于跟同事的开发环境不一样,配置文件内容也不一样,每次提交都要注意不能把配置文件交上去,遂准备配置.gitignore,忽略掉文件。但是,配置后发现,提交时该配置文件依旧在commit列表,查了一通找到了原因。

一、原因

原来是该文件以前提交后已经被git跟踪了,所以即使后来将文件加到了 .gitignore,规则也不会生效。

二、解决办法

1.清除所有文件跟踪

清除所有文件跟踪

git rm -r --cached .

重新添加文件到暂存区

git add .

重新commit所有文件

git commit -m "Update files tracked."

2.清除特定文件或目录跟踪

清除特定文件或目录跟踪

git rm --cached <文件/目录>

commit文件

git commit -m "Stop tracking file or directory"