使用 GIT 时忽略不需要管理的文件或文件夹(.gitignore 文件的作用)

在使用 GIT 管理代码的时候,项目中总是会有一些文件我们不需要加入到 GIT 仓库中进行保管, 我们也不希望在工作目录列表中看到它们,比如说一些一些编译的中间文件,常用的源外编译的 build 文件夹等等。为了过滤这些文件,我们可以创建一个名为 .gitignore 的文件,在其中列出需要过滤文件的模式,其遵循 glob 文件匹配模式


文件 .gitignore 的格式如下:

  • 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 文件模式匹配。
  • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

glob 匹配规则:

匹配符说明
*匹配文件路径中的0个或多个字符,但不会匹配路径分隔符,除非路径分隔符出现在末尾
**匹配路径中的0个或多个目录及其子目录,需要单独出现,即它左右不能有其他东西了。如果出现在末尾,也能匹配文件。
?匹配文件路径中的一个字符(不会匹配路径分隔符)
[...]匹配方括号中出现的字符中的任意一个,当方括号中第一个字符为^或!时,则表示不匹配方括号中出现的其他字符中的任意一个
!(pattern|pattern|pattern)匹配任何与括号中给定的任一模式都不匹配的
?(pattern|pattern|pattern)匹配括号中给定的任一模式0次或1次
+(pattern|pattern|pattern)匹配括号中给定的任一模式至少1次
@(pattern|pattern|pattern)匹配括号中给定的任一模式1次
*(pattern|pattern|pattern)匹配括号中给定的任一模式0次或多次

举例:

# 此为注释 – 将被 Git 忽略
# 忽略所有 .a 结尾和 .b 结尾的文件
*.[ab]
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略文件名为 build 的文件,和以 build 为名的目录
build
# 忽略 build/ 目录下的所有文件,但如果当前目录有文件名为 build,该文件不会被忽略
build/
# 会忽略 doc/ 目录下以 .txt 结尾的文件,但不会忽略 doc/subdir/ 目录下以 .txt 结尾的文件
doc/*.txt

参考文献:《Pro Git》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值