(Git) gitignore基础使用

文章目录

  • 前言
  • [.gitignore 模式匹配](#.gitignore 模式匹配)
    • 注释 `#`
    • [转义 `\`](#转义 \)
    • 直接匹配
    • [任意字符匹配 `*`](#任意字符匹配 *)
    • [单个字符匹配 `?`](#单个字符匹配 ?)
    • [目录分割 `/`](#目录分割 /)
    • [多级目录 `**`](#多级目录 **)
    • [范围匹配 `[]`](#范围匹配 [])
    • [取消匹配 `!`](#取消匹配 !)
  • 检查是否生效
  • 父子文件
  • END

前言

Git - gitignore Documentation (git-scm.com)

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

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

.gitignore 模式匹配

注释 #

shell 复制代码
# 使用`#`进行注释

转义 \

shell 复制代码
# `\` 表示转义符号

直接匹配

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

shell 复制代码
main.cpp
build

任意字符匹配 *

*表示0或多个字符。

注意:不可以匹配/

shell 复制代码
# 匹配所有后缀为`.log`的文件
*.log

单个字符匹配 ?

?表示1个字符匹配。

注意:不可以匹配/

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

目录分割 /

开头

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

shell 复制代码
# 只对当前路径下的 test.cpp 起作用
/test.cpp

中间

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

shell 复制代码
build/main.exe

末尾

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

shell 复制代码
build/

多级目录 **

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

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

shell 复制代码
# 匹配多级目录
build/**/Debug

范围匹配 []

有点类似正则表达式。

shell 复制代码
# 0.txt ~ 9.txt
[0-9].txt
# xay.txt xby.txt xcy.txt
x[abc]y.txt

取消匹配 !

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

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

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

shell 复制代码
!*.gitkeep

检查是否生效

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

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

help信息:

shell 复制代码
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

相关推荐
用户31187945592181 小时前
Kylin Linux 10 安装 glib2-devel-2.62.5-7.ky10.x86_64.rpm 方法(附安装包)
linux
涛啊涛2 小时前
Centos7非LVM根分区容量不足后扩容,对调硬盘挂载/
linux·磁盘管理
CYRUS_STUDIO21 小时前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
熊猫李1 天前
rootfs-根文件系统详解
linux
dessler1 天前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs
泽泽爱旅行1 天前
awk 语法解析-前端学习
linux·前端
权咚2 天前
阿权的开发经验小集
git·ios·xcode
轻松Ai享生活2 天前
5 节课深入学习Linux Cgroups
linux
christine-rr2 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5552 天前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs