详解git中配置的.gitignore不生效的解决办法
技术  /  管理员 发布于 7年前   404
详解git中配置的.gitignore不生效的解决办法
前言:
通常我们希望放进仓库的代码保持纯净,即不要包含项目开发工具生成的文件,或者项目编译后的临时文件。但是,当我们使用git status查看工作区状态的时候,总会提示一些文件未被track。于是,我们想让git帮助我们忽略这些文件,不再提醒。
庆幸的是,git已经考虑到这点了。我们可以在项目的根目录下建立一个.gitignore的文件,该文件用来配置哪些文件或者目录不被track的。规则很简单,就在该文件中,写下你不想被track的文件,一行一个。空行和#开头的行将被过滤掉。
下面给出一个小例子来说明.gitignore文件的用法:
#这里可以写下注释,以表明这条规则的目的。 如下例子,表明不再track hello.class这个文件,应为这个是编译生成的文件,我们只要有源代码就可以生成该文件hello.class#我们也可以使用通配符,下面例子表明不再track所有以class结尾的文件*.class#使用!表示特例,表示在前面的规则应当排除指定的特殊文件。#下面例子表示register.class不适用*.class这条规则,应该被提醒track!register.class#也可以对一个目录进行处理,以下例子表明testDir中的所有文件或者目录都不被tracktestDir/#也可以仅仅对一个目录下的文件进行处理,如下面例子表明testDir2目录下的所有以doc结尾的文件不被track,其他的文件将被提醒track,如/testDir2/hello.txt/testDir2/*.doc
正常情况下,这样配置之后就可以了。但是有些时候,我们发现配置的某个选项不起作用,这是为什么尼?明明配的没有问题呀,让人觉得很纳闷。
其实真正的原因是.gitignore只能忽略那些尚未被被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。一个简单的解决方法就是先把本地缓存删除(改变成未track状态),然后再提交。
git rm -r --cached .git add .git commit -m 'update .gitignore'
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号