.gitignore 的用法

前言

Mac的每个文件夹默认都有一个隐藏的.DS_Store文件, 这个文件保存了文件夹自定义属性, 如图标位置或背景色等.虽然这个文件默认是隐藏的, 但是我们在使用git时, 如果不主动去在.gitignore中配置, 默认也会把这个隐藏的.DS_Store文件push到git上去, 每个文件夹下都有, 看起来很不美观.

.gitignore

我们一般在执行git操作时, 有时候不想把所有的文件都push上去, 例如

  • Java编译产生的class文件
  • 敏感信息的配置文件
  • 操作系统自动生成的文件, 例如.DS_Store等
  • 或者是我们就是不想某个文件push上去
    这个时候我们只需要在.gitignore中写入一些适当的规则, 就可以实现上面的效果

.gitignore 语法规范

  • 空行或是以#开头的行即注释行将被忽略
  • 以斜杠 “/” 结尾表示目录
  • 以星号 “*” 通配多个字符
  • 以问号 “?” 通配单个字符
  • 以方括号 “[]” 包含单个字符的匹配列表
  • 以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录

示例

#忽略当前文件夹下的.DS_Store文件
.DS_Store
#忽略所有子目录下的.DS_Store
*/.DS_Store
#忽略所有的.a文件
*.a
#否定忽略test.a文件, 即时前面忽略了所有的.a文件
!test.a
#忽略根目录下的build文件夹
build/
#忽略lwj文件夹下面的所有目录, 不管是根目录下的/lwj/, 还是子目录下的 /child/lwj/
lwj/*
#忽略根目录下lwj下的所有目录
/lwj/*
#忽略当前文件夹下的TOOD, 不包括子目录下的/child/TOOD
/TOOD
#忽略/doc/test.txt,不能忽略/doc/test/test.txt
doc/*.txt
#有一种写法
#忽略全部
/*
#不忽略.gitignore, 不忽略 lwj和dyq文件夹
!.gitignore
!/lwj
!/dyq

github上提供了各个语言对应的.gitignore文件 查看地址
本文参考了以下文章

待完善

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,218评论 19 139
  • 写在前面 在团队做过软件开发的,版本控制必是不可或缺的一项。目前,版本控制主要分为集中式版本控制系统和分布式版本控...
    Jack_lin阅读 9,980评论 45 433
  • 缘起 之前按照教程系统学习了git, 自以为掌握, 但是在实际工作中却发现许多超出普通教程的操作需求. 忽略某些文...
    patiencing阅读 466评论 0 0
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 4,962评论 0 9
  • 最近被人问到工作与考研到底哪个应置于前头的问题,我的姐姐更对我直言“你现在觉得读研究生有必要吗”,想来是我自己混得...
    捧3D场阅读 1,142评论 6 4