1、.gitignore
文件的作用
忽略不想提交到版本库的Untracked files
注意, 我们应该养成在项目开始前创建.gitignore
文件的习惯。
.gitignore
文件过滤掉的是我们用git status
查看状态时,那些Untracked files...
,如果已经在创建.gitignore
文件之前已经push
过,那么再创建的.gitignore文件的过滤规则将不再起作用,处理起来比较麻烦。
2、.gitignore
文件书写规则
先看几个示例:
(1)Some common .gitignore configurations
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
*.sql
*.sqlite
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
(2)更多示例
规则:
- # xxx
:注释
- *.com
:忽略所有以.com
结尾的文件
- !xxx.com
:xxx.com
除外,注意,.gitignore
除了可以指定忽略的文件,也可以指定那些文件不可以忽略
- /
:匹配根目录
- /todo
:忽略根目录下的todo
,但是dir/todo
不被忽略
- build/
:忽略build
下的所有文件
- build/*.txt
:忽略build
下的.txt
文件,但是build/dir/*.txt
不被忽略
通常:
- 以斜杠“/
”开头表示目录;
- 以星号“*
”通配多个字符;
- 以问号“?
”通配单个字符
- 以方括号“[]
”包含单个字符的匹配列表;
- 以叹号“!
”表示不忽略(跟踪)匹配到的文件或目录;
参考链接:
Git命令常用命令
廖雪峰 忽略特殊文件
Git忽略规则.gitignore梳理
Ignoring files