.gitignore —— 文件忽略

.gitignore文件用于指定Git忽略未跟踪的文件,已跟踪的文件不受影响。模式格式包括注释、目录匹配、星号和问号通配符等。独享式忽略可通过.git/info/exclude或core.excludesfile实现,只在本地版本库生效。
摘要由CSDN通过智能技术生成

.gitignore —— 文件忽略


描述

一个 .gitignore 文件指定 Git 应该忽略哪些未跟踪文件的。已经被 Git 跟踪的文件不受影响。.gitignore 文件可以忽略 .gitignore 文件本身,也可以有多个 .gitignore 文件。


模式格式

  • 空行不匹配任何文件,因此它可以用作可读性的分隔符。

  • # 开头的行用作注释。

  • 末尾的空格将被忽略,除非它们用反斜杠 ("\")引用。

  • 一个可选的前缀 !,它否定了模式;任何被先前模式排除的匹配文件将再次包含在内。如果排除了该文件的父目录,则无法重新包含该文件。对于以“!”字面值开头的模式,在第一个“!”前面加一个反斜杠(“\”),例如,\!important!.txt

  • 斜杠 / 用作目录分隔符。

  • 如果在模式的开头或中间(或两者)有一个分隔符,则该模式相对于特定的 .gitignore 文件本身的目录级别。否则,模式也可以在 .gitignore 级别以下的任何级别进行匹配。

  • 如果模式末尾有分隔符,那么模式将只匹配目录,否则模式可以同时匹配文件和目录。

例如

目录
├── .gitignore(文件)
├── doc(目录)
│	└── frotz(目录)
├── frotz(目录)
└── frotz(文件)

模式 frotz 匹配 frotz 目录、 frotz 文件和 doc/frotz 目录;
模式 frotz/ 匹配 frotz 目录和 doc/frotz 目录,但不匹配 frotz 文件;
模式 /frotz 匹配 frotz 目录和 frotz 文件,但不匹配 doc/frotz 目录;
模式 /frotz/ 匹配 frotz 目录,但不匹配 frotz 文件和 doc/frotz 目录;
注意(所有路径都是相对于 .gitignore 文件的)

  • 星号 * 匹配除斜杠以外的任何内容。

  • 问号 匹配除斜杠之外的任何一个字符。

  • 范围表示法,例如 [a- zA -Z] ,可用于匹配范围中的一个字符。

在匹配完整路径名的模式中,两个连续的星号(“**”)可能有特殊含义:

  • 前导的 ** 后面跟一个斜杠表示在所有目录中匹配。例如,**/frotz 在任何地方匹配文件或目录 frotz,与 frotz 模式相同。

  • 末尾的 ** 匹配里面的所有内容。例如,frotz/** 匹配目录 frotz 内的所有文件,相对于 .gitignore 文件的位置,具有无限深度。

  • 斜杠后跟两个连续的星号然后斜杠,匹配零个或多个目录。例如,a/**/b 匹配 a/ba/x/ba/x/y/b 等。

  • 其他连续的星号被视为常规星号,将根据之前的规则进行匹配。


独享式忽略文件

文件 .gitignore 设置的文件忽略是共享式的,一旦将其作为版本库的一部分推送到远程版本库,其他人拉取后就会在他人的版本库中生效。

独享式文件忽略可以通过 .git/info/excludecore.excludesfile 来设置,两者分别对应仅某个具体本地版本库生效全部本地版本库生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值