您的位置:首页 > 其它

GIT如何忽略文件

2014-07-22 21:19 134 查看
在使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: