gitignore规则

语法概述

解读自 Mac 系统的 Git Manual (man gitignore

  1. 若 pattern 开头或者中间有 “/”,则相对当前目录匹配,否则可以相对所有目录匹配;
    “b/" 匹配 “b/”,“a/b/” 和 “a/c/b/…”
    “a/b/” 只匹配 “a/b/”,不匹配 “c/a/b/”
  2. 若 pattern 末尾有 “/”,则只匹配目录,否则匹配目录和文件;
  3. “*” 配合规则1,可以匹配非 “/” 字符;
    *.html 匹配 “m.html”,“a/m.html”
  4. 对于规则1中所述,开头或中间有 “/” 的情况:开头 “**/” 匹配所有前置目录,结尾“/**” 匹配所有后置路径,中间 “/**/” 匹配所有中间目录结构。
    **/foo 匹配任意目录下的 foo
    a/**/b 匹配 “a/b”,“a/c/b”,“a/c/d/b”
    abc/** 匹配 abc 目录下的所有文件,无限深度

仅提交个别文件

  • fd1/* 说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;
  • /fd1/* 说明:忽略根目录下的 /fd1/ 目录的全部内容;
  • /* 会忽略根目录下的所有文件和文件夹,如果还想提交 /fd1/*.txt 需要先对 /fd1/ 目录使用 ! 规则,使其不被排除,再用/fd1/* 排除该目录下的其他文件,最后再提交 /fd1/*.txt

如下示例:

/*
!*.cpp
!*.h
!/result/
/result/*
!/result/FallingDrop/
/result/FallingDrop/*
!/result/FallingDrop/*.txt

说明:忽略全部内容,但不忽略根目录下的 *.cpp *.h 文件,和 /result/FallingDrop/*.txt
注意在提交 !/result/FallingDrop/*.txt 时需要逐级排除父目录。

参考资料

  1. Git忽略提交规则 - .gitignore配置运维总结
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值