美文网首页
gitignore失效问题

gitignore失效问题

作者: 天很清 | 来源:发表于2018-10-17 18:40 被阅读0次

一般项目下载下来都会有 .gitignore文件,不需要特别设置,但当你在开发中,想忽略某个文件时,就需要把这个文件路径添加到.gitignore文件中,但可能有时候可以成功忽略有时候又不可以,这是为什么呢?

加入.gitignore中的文件路径是否生效,关键在于这个路径下的文件性质,是不是untracked

什么是untracked的文件?在本地一个新建的文件,未执行git add之前就是untracked(当然,前提是编辑器不会在创建文件时自动帮你执行git add),那么这个新建的文件直接将路径添加到.gitignore中,即可生效。

但如果一个文件已经执行过git add 或者 git commit,或者不是本地新建文件,加入.gitignore中就无法生效,需要重新恢复untracked状态才行。

如果恢复一个文件为untracked,很简单,删除,然后在本地新建(记得提前备份),可以使用
git rm --cached <file> 删除,这个时候文件就是untracked

但通常本地文件untracked了,但远程同名文件还是tracked,一更新代码就覆盖了,这个就需要把远程的tracked的文件删掉。

下面举个例子:
远程文件库front根目录下local.js,代码下载下来也有个/d/front/local.js,这个时候你可能需要修改local.js做个性化配置,/d/front/.gitignore文件中没有添加local.js,但你希望git 能忽略local.js

// 在项目根目录下,首先copy一份local.js
zy@DESKTOP-MIQKPJL MINGW64 /d/front/local.js
$ cp local.js local_default.js 
// 编辑 .gitignore , 将 local.js路径加进入
$ vim .gitignore  (不熟悉vim,可在编辑器中编辑)
// 删除本地local.js
$ git rm --cached lcoal.js
// 提交修改,删除远程local.js
$ git status
$ git add .
$ git commit -m "add local.js to gitignore"
$ git push
// 重新pull下代码
$ cp local_default.js local.js
// 现在,这个新建的local.js 可以在本地随便更改了

相关文章

  • gitignore失效问题

    一般项目下载下来都会有 .gitignore文件,不需要特别设置,但当你在开发中,想忽略某个文件时,就需要把这个文...

  • .gitignore失效问题

    删掉失效的文件,再重新copy进来。猜测gitignore有时对已存在的文件会失效 删除缓存方式git rm -r...

  • gitignore失效的问题

    有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.git...

  • .gitignore文件失效问题

    Q: .gitignore文件没有忽略掉我们已经添加的文件。A: .gitignore对已经追踪(track)的文...

  • .gitignore失效

  • Source Tree的gitignore失效问题

    使用Source tree管理git项目,如果中途在gitignore中添加规则或者删除某规则,会发现并没有失效,...

  • gitignore忽略文件

    项目中已有 gitignore忽略文件 想要再修改 gitignore忽略文件,修改的内容是失效的,在填写忽略文件...

  • git库.gitignore中指定目录文件失效

    .gitignore失效大体原因有两个: gitignore文件语法错误解决方案: 检查修正错误的语法,或重新更新...

  • Git .gitignore 失效处理

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

  • git .gitignore 配置失效

    清楚缓存,并重新提交该文件 然后就可以生效了

网友评论

      本文标题:gitignore失效问题

      本文链接:https://www.haomeiwen.com/subject/envrzftx.html