Git .ignore 文件规则不生效

解决项目开发过程中添加的 .gitignore 规则不生效问题

问题概述

其实这个问题很简单,主要是因为我们的项目不是在构建之前就加入了 ignore 规则,而是在某些文件已经纳入版本控制之后添加的规则,所以规则不生效

我们的解决方案也很容易理解,在本地清理下 git 的缓存,重新提交规则文件就能解决

解决方案

git 终端,依次键入如下指令

1
2
3
4
5
6
$ 清理缓存
git rm -r --cached .
$ 跟踪所有文件
git add .
$ 重新提交
git commit -m 'update .gitignore'

通用忽略规则文件

推荐 github 项目 ignore ,提供多种 ignore 文件模板

项目地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# compile file
*.class

# log file
*.log

# BlueJ file
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs
hs_err_pid*
replay_pid*

# maver ignore file
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
!/.mvn/wrapper/maven-wrapper.jar

# idea environment file
.idea/*
.idea/compiler.xml
.idea/encodings.xml
.idea/modules.xml
*.iml

Idea 设置

这里以常用开发工具 idea 为例,我们可以在 idea 配置项中添加忽略文件,避免上传开发工具自带的文件

我们在上传项目时,肯定会有一些不需要上传到远程仓库的文件,idea工具的一些生成文件便是如此,例如:

显然这些东西不需要 push 到远程,我们直接 KO 掉

加入.idea项后,push 的时候 git 就会忽略它了,而且项目中也没有了 idea 文件,非常地简洁


参考资料::

  • git ignore documentation