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

原创 2017年07月30日 14:24:50

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

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

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

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

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

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

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

/testDir2/*.doc

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

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

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

面向面试的死锁问题

先看代码在做解释public class DeadLock implements Runnable{ String a; String b; boolean flag; ...

复合索引

复合索引 概要 什么是单一索引,什么又是复合索引呢? 何时新建复合索引,复合索引又需要注意些什么呢?本篇文章主要是对网上一些讨论的总结。 一.概念 单一索引是指索引列为一列的情况,...

Git忽略规则及.gitignore规则不生效的解决办法

在Git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如: # 此为...

git .gitignore失效的解决办法

前言在使用git这个多人协作的代码版本控制工具时,为了避免每次提交修改代码时,一些预期外的无用文件的改动同时被提交并加入版本控制,需要将一些和代码无关的无用文件排除在版本控制外,此时也就需要使用.gi...

.gitignore文件配置和无效解决办法

".gitignore"要放在哪里 ".gitignore"忽略文件设置 ".gitignore"无法忽略问题解决
  • lonyw
  • lonyw
  • 2017年07月25日 21:45
  • 92

在ssh框架下web.xml配置404和500错误代码,自定义不生效的解决办法。

在一次项目中在配置自定义404和500页面的时候不成功,刚开始在web.xml配置  8error-page>  9    error-code>404error-code> 10    loc...
  • nnddhst
  • nnddhst
  • 2013年08月29日 13:54
  • 1368

Spring 全注解配置 bean 和 调用 (8) @Aspect注解不生效解决办法 和 no-static 的警告解决办法

package com.xiuye.config.aspect; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang...

git配置过程中出现错误的解决办法

git push origin master出现如下错误: [plain] view plaincopy Counting objects: 3, done.  W...

git配置过程中出现错误的解决办法

git push origin master出现如下错误: Counting objects: 3, done. Writing objects: 100% (3/3), 226 bytes, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git中配置的.gitignore不生效的解决办法
举报原因:
原因补充:

(最多只允许输入30个字)