0%

.gitignore的使用

很长一段时间忽视了.gitignore的作用,果真还是自己太菜了。。。

[TOC]

官方文档:https://github.com/github/gitignore

Java官方模板

.gitignore文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

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

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

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

个人常用模板

.gitignore文件

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
# Compiled class file #
*.class

# Eclipse #
.project
.classpath
.settings/

# Intellij #
*.ipr
*.iml
*.iws
.idea/

# Maven #
target/

# Gradle #
build
.gradle

# Log file #
*.log
log/

# out #
**/out/

# Mac #
.DS_Store

# others #
*.jar
*.war
*.zip
*.tar
*.tar.gz
*.pid
*.orig
temp/

可能遇到的问题

.gitignore规则不生效

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

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

1
2
3
$ git rm -r --cached .
$ git add .
$ git commit -m 'update .gitignore'

如果你确实想添加该文件,可以用-f强制添加到Git:

1
$ git add -f xxx.class

或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,

可以用git check-ignore命令检查:

1
2
$ git check-ignore -v xxx.class
.gitignore:3:*.class xxx.class