zoukankan      html  css  js  c++  java
  • gitignore 规则

    在使用git的过程中,总有一些我们不想被跟踪的文件,例如vim的交换文件,编译产生的文件等等。这时,我们可以在项目的根目录下创建一个名为 .gitignore 的文件,列出不想被跟踪的文件模式即可。下面是一个 .gitignore 文件的例子:

    1 *.[oa]
    2 *~
    3 *.swp
    4 *.bak
    5 *.DS_Store
    6 logs/*

    第一行告诉git忽略以 .a 或 .o 结尾的文件,第二、三、四、五行告诉git忽略以~、swp、bak、DS_Store结尾的文件, 第六行告诉git忽略logs目录下的所有文件。具体的 .gitignore 文件格式规范如下:

    • 所有空行或已#开头的行都会被git忽略(即相当于不读取)。

    • 可以使用标准的 glob 模式匹配。

    • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。

    • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反(即保守模式)。

    所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。星号(*)匹配零个或多个任意字符;[abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。

    下面是另外一个示例:

    1 *.a                      #忽略以a结尾的文件
    2 !core.a                  #跟踪core.a
    3 /config                  #忽略根目录下的 config文件,但 /abc/config 不会被忽略
    4 logs/                    #忽略logs目录
    5 doc/*.pyc                #忽略doc目录下所有以pyc结尾的文件,但不包括 doc/abc/*.pyc
    6  
    7 /www/*
    8 !/www/base/              这两行表示只跟踪根目录下的www中的base目录

    如果觉得在每个项目中都添加 .gitignore 很麻烦,下面的方法可以偷一些懒:

    在用户目录下新建一个 .gitignore 文件并添加过滤规则:

    vim ~/.gitignore

    1 *.[oa]
    2 *~
    3 *.swp
    4 *.bak
    5 *.DS_Store
    6 logs/*

    然后执行:

    git config --global core.excludesfile ~/.gitignore

    这样,就创建了一个全局性的过滤规则。

  • 相关阅读:
    回溯法(背包问题和八皇后问题)
    wxidgets知识点
    计算机组成原理十套练习-白中英(B1 B2 B3 B4 B5 B6 B7B8 B9 B10)
    mbed sdk结构
    CC2540/2541软件开发指南
    GNU Utility
    迭代(iterate)和递归(recursion)的区别
    最长回文子串的求解(java)
    1、surrounded-regions
    mvn compile 出错 [ERROR] 不再支持源选项 1.5。请使用 1.6 或更高版本。
  • 原文地址:https://www.cnblogs.com/sage-blog/p/6137362.html
Copyright © 2011-2022 走看看