Git   发布时间:2022-05-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了详解git中配置的.gitignore不生效的解决办法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

详解git中配置的.gitignore不生效的解决办法

前言:

通常我们希望放进仓库的代码保持纯净,即不要包含项目开发工具生成的@L_801_3@,或者项目编译后的临时@L_801_3@。但是,当我们使用git status查看工作区状态的时候,总会提示一些@L_801_3@未被track。于是,我们想让git帮助我们忽略这些@L_801_3@,不再提醒。

庆幸的是,git已经虑到这点了。我们可以在项目的根目录下建立一个.gitignore的@L_801_3@,该@L_801_3@用来配置哪些@L_801_3@或者目录不被track的。规则很简单,就在该@L_801_3@中,写下你不想被track的@L_801_3@,一行一个。空行和#开头的行将被过滤掉。

下面给出一个小例子来说明.gitignore@L_801_3@的用法

#这里可以写下注释,以表明这条规则的目的。 如下例子,表明不再track Hello.class这个@L_801_3@,应为这个是编译生成的@L_801_3@,我们只要有源代码就可以生成该@L_801_3@Hello.class

#我们也可以使用通配符,下面例子表明不再track所有以class结尾的@L_801_3@
*.class

#使用!表示特例,表示在前面的规则应当排除指定的特殊@L_801_3@。
#下面例子表示register.class不适用*.class这条规则,应该被提醒track
!register.class

#也可以对一个目录进行处理,以下例子表明testDir中的所有@L_801_3@或者目录都不被track
testDir/

#也可以仅仅对一个目录下的@L_801_3@进行处理,如下面例子表明testDir2目录下的所有以doc结尾的@L_801_3@不被track,其他的@L_801_3@将被提醒track,如/testDir2/Hello.txt

/testDir2/*.doc

正常情况下,这样配置之后就可以了。但是有些时候,我们发现配置的某个选项不起作用,这是为什么尼?明明配的没有问题呀,让人觉得很纳闷。

其实真正的原因是.gitignore只能忽略那些尚未被被track的@L_801_3@,如果某些@L_801_3@已经被纳入了版本管理中,则修改.gitignore是无效的一个简单的解决方法就是先把本地缓存删除(改变成未track状态),然后再提交。

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持

大佬总结

以上是大佬教程为你收集整理的详解git中配置的.gitignore不生效的解决办法全部内容,希望文章能够帮你解决详解git中配置的.gitignore不生效的解决办法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。