天天看点

Github .gitignore详解

     在使用git作版本控制时,git会默认把git控制的文件夹里面的所有文件都加入到版本控制。但是在实践中,我们经常会遇到不想某些文件或文件夹被git追踪的情况.比如logs文件、代码构建过程中产生的一些列文件,要解决这种问题,通常情况下我们需要创建一个文件格式后缀名为.gitignore的文件,来控制哪些文件不被git追踪.

下面是一个简单的.gitignore文件

被过滤掉的文件就不会出现在你的GitHub库中了,当然本地库中还有,只是push的时候不会上传

注意:如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。

下面是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