(Git) gitignore基础使用

前言

Git - gitignore Documentation (git-scm.com)

在使用git管理的项目中,可以通过.gitignore文件管理一些需要忽略管理的文件。

注意就是全名为:.gitignore的文件。

.gitignore 模式匹配

注释 #

# 使用`#`进行注释

转义 \

# `\` 表示转义符号

直接匹配

忽略所有匹配的文件文件夹

main.cpp
build

任意字符匹配 *

*表示0或多个字符。

注意:不可以匹配/

# 匹配所有后缀为`.log`的文件
*.log

单个字符匹配 ?

?表示1个字符匹配。

注意:不可以匹配/

# 匹配所有后缀为`.log`且名字只有一个字符的文件
?.log

目录分割 /

开头

表示从当前的.gitignore文件路径进行匹配。

# 只对当前路径下的 test.cpp 起作用
/test.cpp

中间

最常见的含义,表示中间路径。

build/main.exe

末尾

只忽略文件夹,不忽略文件。

build/

多级目录 **

**用于多级目录的匹配。

弥补了*和?无法匹配/的问题。

# 匹配多级目录
build/**/Debug

范围匹配 []

有点类似正则表达式。

# 0.txt ~ 9.txt
[0-9].txt
# xay.txt xby.txt xcy.txt
x[abc]y.txt

取消匹配 !

! 用于取消已经匹配了的内容。

notes:一般建一个空白的.gitkeep来保证项目文件夹的存在。

特别注意:当该文件的父文件目录被排除时,这整个规则会无效。

!*.gitkeep

检查是否生效

# 若没被忽略则会显示
git check-ignore <文件或目录>

# -v 查看是被哪条规则忽略的
git check-ignore -v <文件或目录>

help信息:

usage: git check-ignore [<options>] <pathname>...
   or: git check-ignore [<options>] --stdin

    -q, --quiet           suppress progress reporting
    -v, --verbose         be verbose

    --stdin               read file names from stdin
    -z                    terminate input and output records by a NUL character

    -n, --non-matching    show non-matching input paths
    --no-index            ignore index when checking

父子文件

当在子文件夹有.gitignore文件时。当前子文件夹会遵守当前的.gitignore并忽略父文件夹下的规则。

END

ref:

【忽略文件版本控制gitignore详解,git-ignore精讲教程,2022年最新git基础使用,git进阶教程,git必备技能】

关注我,学习更多C/C++,算法,计算机知识

B站:

👨‍💻主页:天赐细莲 bilibili

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值