gitignore文件屏蔽规则

在使用git仓库时,有些特殊文件我们希望能够进行屏蔽,而有些文件我们希望能够保留在版本库中,此时就用到了git的.gitignore 文件。
.gitignore 文件格式规范如下:

  • 所有空行或#开头的行都会被忽略;
  • 可以使用标准的 glob 模式匹配;
  • 文件或目录前加 / 表示仓库根目录的对应文件;
  • 匹配模式最后跟反斜杠 / 说明要忽略的是目录;
  • 要特殊不忽略某个文件或目录,可以在模式前加上取反 !

其中 glob 模式是指 shell 所使用的简化了的正则表达式。

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

下面是一个 .gitignore 文件例子,注释上附录有说明:

*.a                    # 所有以 '.a' 为后缀的文件都屏蔽掉
# Office 缓存文件
~'$'*.docx
~'$'*.ppt
~'$'*.pptx 
~'$'*.xls

tags                   # 仓库中所有名为 tags 的文件都屏蔽
core.*                 # 仓库中所有以 'core.' 开头的文件都屏蔽

tools/                # 屏蔽目录 tools
log/*                  # 屏蔽目录 log 下的所有文件,但不屏蔽 log 目录本身

/log.log               # 只屏蔽仓库根目录下的 log.log 文件,其他目录中的不屏蔽
readme.md       # 屏蔽仓库中所有名为 readme.md 的文件
!/readme.md     # 在上一条屏蔽规则的条件下,不屏蔽仓库根目录下的 readme.md 文件

注意:
例子中的最后两条的顺序很重要,必须要先屏蔽所有的,然后才建立特殊不屏蔽的规则!

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

推荐阅读更多精彩内容

  • 有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。 使用...
    Ten_Minutes阅读 2,211评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,079评论 19 139
  • 之前下载别人封装的库,看到里面有些文件是要自己下载的,也就会没上传到github上,还有自己在用git上传文件时,...
    iOS_Yang阅读 8,023评论 0 3
  • 内容提要 忽略文件 忽略目录的四种不同方式 /mytmp /mytmp/* **/mytmp **/mytmp/*...
    区影阅读 8,064评论 2 10
  • 阴云笼罩 直至天际 多想 拨开一个小孔 轻轻地呼吸 不怕 天外有太重的寒气 寒气阵阵 侵袭 这是冬的序曲 冷冷,...
    听雨Q晴阅读 303评论 2 3