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

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

    # 此为注释 ,将被 Git 忽略
# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
# 会忽略掉 doc/ 里面所有的txt文件,包括子目录下的(**/ 从 Git 1.8.2 之后开始支持 **/ 匹配模式,表示递归匹配子目录下的文件)
doc/**/*.txt
local.properties #过滤具体文件
!local.properties#添加具体文件
*.[oa]#忽略所有以 .o 或 .a 结尾的文件

被过滤掉的文件就不会出现在你的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

最新文章

  1. php加密解密0x数组
  2. 动态设置form表单的元素值
  3. Xcode引入外界文件时选Create groups 或 Create folder references的区别
  4. vmware通过vmnet8共享本地网络
  5. Document.defaultView
  6. 01-03-03【Nhibernate (版本3.3.1.4000) 出入江湖】cascade的测试
  7. HOW TO: Creating your MSI installer using Microsoft Visual Studio* 2008
  8. struts2标签自动错行、换行问题
  9. ECSTORE1.2系统更改后台密码
  10. CF #228 div1 B. Fox and Minimal path
  11. delphi 给EXE文件增加区段
  12. LeetCode OJ 56. Merge Intervals
  13. iOS8新特性(1)——UIAlertController
  14. Java并发编程--7.Java内存操作总结
  15. LOJ P3959 宝藏 状压dp noip
  16. 《DSP using MATLAB》Problem 2.16
  17. 杂项:HTML5-2/3-新元素
  18. 贪心——Prim算法(避圈法)
  19. July 15th 2017 Week 28th Saturday
  20. angularJS 单页面 两个及以上个 ng-app 的处理方式

热门文章

  1. The user specified as a definer ('root'@'%') does not exist 异常解决
  2. SCVMM中Clone虚拟机失败显示Unsupported Cluster Configuration状态
  3. Linux 内核版本命名
  4. kettle中全局变量的设置
  5. hdu----(1849)Rabbit and Grass(简单的尼姆博弈)
  6. CRC32
  7. LZ77.py
  8. [LeetCode] Best Meeting Point 最佳开会地点
  9. C# Winform代码片段-大二下学期的垃圾代码
  10. Newtonsoft.Json 序列化和反序列化 时间格式【转】