Jiahonzheng's Blog

gitignore 添加规则无效的解决办法

字数统计: 164阅读时长: 1 min
2018/02/22 Share

忽略的规则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 忽略所有 .a 结尾的文件
*.a

# 但 lib.a 除外
!lib.a

# 仅忽略项目根目录下的 TODO 文件
/TODO

# 忽略 build/ 目录下的所有文件
build/

# 忽略 doc/*.txt 但不忽略 doc/*/*.txt
doc/*.txt

忽略失效

原因

.gitignore 对已被追踪(track)的文件是失效的

解决方法

由于 .gitignore 对已被追踪的文件是失效的,因此我们需要清除缓存,在执行清除缓存的操作后,文件将以未被追踪的形式出现,此时,只需重新 add 文件并 commit 即可。

在命令行执行:

1
2
3
git rm -r --cached .
git add .
git commit -m ".gitignore Fixed"
CATALOG
  1. 1. 忽略的规则
  2. 2. 忽略失效
    1. 2.1. 原因
    2. 2.2. 解决方法