• git使用笔记(三)文件忽略


    By francis_hao    Nov 19,2016

    注:此条所有内容均来自$ git help gitignore,细节请参考之

     

    有时候在仓库里有一些文件我们并不想提交,git提供了指定屏蔽文件的功能

    可以在$GIT_DIR/info/exclude(和/或).gitignore文件中添加不想被追踪的文件,但如果文件之前已经被提交过,已经被git追踪了的话,再设置屏蔽文件就不会起作用了。

    此功能实现的过程如下

    1. 从.gitignore文件中读取模式
    2. 从$GIT_DIR/info/exclude中读取模式
    3. 从配置变量core.excludesfile指定的文件中读取模式

    这三个文件分别对应不同的应用场景:

    "1" 本身也可以提交到版本库中由git控制版本,并可以在别人clone的仓库中生效。

    "2"是用于比较私人的仅仅对于本仓库生效。

    "3"也是用于私人的但是会对所有的仓库生效

    模式匹配的格式:

    • 空行不起作用,因此在方便阅读的目的下可任意使用
    • #作为注释
    • !可以将之前的规则否决掉,这个在最后面的有效性越高
    • 以/结尾的模式仅仅匹配目录,不会对文件有影响,例如"foo/"仅匹配目录foo(不管它在几层目录下),而不会匹配文件foo
    • 没有/的情况,如果是.gitignore里的规则,则以.gitignore所在路径作为根路径,其他文件里的规则则以$GIT_DIR所在路径作为根路径的整个文件路径名内容作为匹配内容,例如规则为dir,则它会匹配dir/hello,dir/haha,info/jack/dir等
    • 模式"*"号默认不会匹配/,例如a/*.c会匹配a/a.c但是不会匹配 a/b/a.c。
    • 行首的/表示gitignore所涉及的路径,例如"/*.c"会匹配"cat_file.c"但不会匹配"Mozilla_sha1/sha1.c"

    NOTE:

     


    本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
    转载自:http://www.cnblogs.com/yinghao1991/p/6081448.html

     

    参考

    [1] git help gitignore

     

  • 相关阅读:
    sqlite语法
    java 多态性
    Jekyll Bootstrap初始
    2019年 八年级下册期中总结
    2019年 八年级下册期中总结
    【洛谷P1415】拆分数列【dp】
    【洛谷P1415】拆分数列【dp】
    【洛谷P1197】星球大战【并查集】
    【洛谷P1197】星球大战【并查集】
    【P1261】服务器储存信息问题【最短路】
  • 原文地址:https://www.cnblogs.com/yinghao-liu/p/6081448.html
Copyright © 2020-2023  润新知