.gitignore失效

不同类型的工程都有一些通用的.gitignore范本,一般在项目初始化以后,直接按照范本加入.gitignore文件即可,这些使用.gitignore文件指定的忽略文件是不会被推送到远程仓库的,在以后的coding中就不用再关心这些被忽略的文件了。

问题

1.已经初始化项目了,并配置.gitignore文件了,可以另外追加忽略文件么?

直接追加进.gitignore文件忽略文件列表就可以了。

2.已经加入.gitignore文件列表的被忽略文件,想要进行改动,并提交推送到远程仓库,要如何做?

只需要将被忽略的文件类型从.gitignore列表移除或注释掉,再次修改原来被忽略类型的文件时,就会提示此类文件被修改,需要加入版本控制了。

3.原来被忽略的文件,取消忽略后,可以重新加入忽略么?

可以,同样只需要再次追加进.gitignore文件忽略文件列表就可以了。


真相

上文中的问题1、2、3会生效么?

2会立即生效,1和3会出现失效的情况。

1和3为什么会出现失效的情况?

这是由于gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

怎么解决1和3失效的情况

先把本地缓存删除(改变成未track状态),然后再提交

git rm -r --cached .
git add .
git commit -m 'commit log info'

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 在使用Git这个多人协作的代码版本控制工具时,为了避免每次提交修改代码时,一些预期外的无用文件的改动同时被提...
    陳云峰阅读 8,066评论 1 0
  • 使用Source tree管理git项目,如果中途在gitignore中添加规则或者删除某规则,会发现并没有失效,...
    Vittoria阅读 1,491评论 0 1
  • 有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.git...
    倦飞知还阅读 821评论 0 0
  • 一般项目下载下来都会有 .gitignore文件,不需要特别设置,但当你在开发中,想忽略某个文件时,就需要把这个文...
    天很清阅读 1,066评论 0 0
  • 删掉失效的文件,再重新copy进来。猜测gitignore有时对已存在的文件会失效 删除缓存方式git rm -r...
    意大利大炮阅读 156评论 0 0