在使用git作版本控制时,git会默认把git控制的文件夹里面的所有文件都加入到版本控制.然后,在实践中,我们经常会遇到不想某些文件或文件夹被git追踪的情况.比如logs文件,比如代码构建过程中产生的一些列文件,或者是nodejs中所依赖的node-modules的所有模块.
要解决这种问题,通常情况下我们需要创建一个文件格式后缀名为.gitignore的文件,来控制哪些文件不被git追踪.
下面是一个简单的.gitignore文件
# a comment - this is ignored
# 忽略所有'.a'文件, * 为正则匹配,任意字符
*.a
# 但是 'lib.a'将被包括进git版本控制, ! 为非
!lib.a
# only ignore the root TODO file, not subdir/TODO
/TODO
# 或略build文件夹及其包含的所有文件
build/
# ignore doc文件夹下所有以及包含的 .txt文件,不包括类似doc/test/tell.txt 这样的文件
doc/*.txt
# 忽略doc文件夹中所有 .txt文件
doc/**/*.txt
下面是gitignore文件的书写规则:
空白或者以#开始的文字将被忽略, 注释一行可以用 #.
可以使用通配符,例如*.
使用 / 结束可以匹配文件夹,比如 doc/ 将匹配doc文件夹.
使用’!'来声明一个非语句. 比如!lib.txt 将不会忽略lib.txt
其实很简单,了解了基本规则之后就可以书写自己的gitignore文件了,下面这个是github提供的一些常用的gitignore规则,可以试着去理解下.
当然大招在这,github上一个开源的All in One .gitignore,总有一款适合你.
# 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
要解决这种问题,通常情况下我们需要创建一个文件格式后缀名为.gitignore的文件,来控制哪些文件不被git追踪.
下面是一个简单的.gitignore文件
# a comment - this is ignored
# 忽略所有'.a'文件, * 为正则匹配,任意字符
*.a
# 但是 'lib.a'将被包括进git版本控制, ! 为非
!lib.a
# only ignore the root TODO file, not subdir/TODO
/TODO
# 或略build文件夹及其包含的所有文件
build/
# ignore doc文件夹下所有以及包含的 .txt文件,不包括类似doc/test/tell.txt 这样的文件
doc/*.txt
# 忽略doc文件夹中所有 .txt文件
doc/**/*.txt
下面是gitignore文件的书写规则:
空白或者以#开始的文字将被忽略, 注释一行可以用 #.
可以使用通配符,例如*.
使用 / 结束可以匹配文件夹,比如 doc/ 将匹配doc文件夹.
使用’!'来声明一个非语句. 比如!lib.txt 将不会忽略lib.txt
其实很简单,了解了基本规则之后就可以书写自己的gitignore文件了,下面这个是github提供的一些常用的gitignore规则,可以试着去理解下.
当然大招在这,github上一个开源的All in One .gitignore,总有一款适合你.
# 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