【问题分析解决】git添加.gitignore后不生效问题

一,问题现象

在已经提交过的git管理的项目中,新增加一个.gitignore文件,或者修改.gitignore文件之后,新增的内容不生效。

二,问题原因

因为我们误解了.gitignore文件的用途,该文件只能作用于Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。

之所以你的规则不生效,是因为那些 .log 文件曾经被 Git 记录过,因此.gitignore对它们完全无效。

三,解决方法

1,从 Git 的数据库中删除对于该文件的追踪;
2,把对应的规则写入.gitignore,让忽略真正生效;
3,提交+推送。

具体指令:

git rm -r --cached .
git add .
git commit 

四,举例说明

1,先gcc编译main.c生成a.exe,并将a.exe提交到git记录。然后再修改main.c重新生成a.exe,添加.gitignore,将*.exe添加到.gitignre中。

在这里插入图片描述

2,将main.c修改和添加.gitignore提交到git,此时git st查看,只有.exe修改:

在这里插入图片描述

3,准备工作完成之后,接下来执行上述3个步骤,来将*.exe文件被git忽略

将所有的修改全部删除:
在这里插入图片描述
然后再添加所有的修改:
在这里插入图片描述
再次修改main.c生成.exe就不会被git识别到了。

五,总结

本文记录了.gitignore不生效的原因和解决方法,供参考。

猜你喜欢

转载自blog.csdn.net/xuxu_123_/article/details/131710549
今日推荐