美文网首页
.gitignore 的用法

.gitignore 的用法

作者: wenjieli | 来源:发表于2017-08-15 14:04 被阅读0次

    前言

    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文件 查看地址
    本文参考了以下文章

    待完善

    相关文章

      网友评论

          本文标题:.gitignore 的用法

          本文链接:https://www.haomeiwen.com/subject/xqgmrxtx.html