Git 中的 .gitignore 文件配置规范(过滤文件推送)

在这里插入图片描述

古之立大事者,不为此超世之才,亦必有坚忍不拔之志——苏轼

写在前面

由于我联系的代码和笔记一直都是使用 Git 推送到某平台管理的,有的时候会出现一些配置文件什么之类的文件,我们不需要将其推送到某平台的。

这个时候 .gitignore 文件的作用就发挥了,这个文件可以告诉 Git 哪些文件或目录不需要推送。

下面就来介绍一下这个文件的使用规则。

常用的忽略规则

常用的忽略规则如下所示:

# #号表示注释 如果需要#号在前面加斜杠 /#
/directory/ 			# 过滤整个文件夹
*.zip					# 过滤所有 .zip 文件
/directory/markdown.md  # 过滤单个文件
# 在这些前面加入 ! 表示不过滤该文件

记住这些规则基本就够用了,啊?还不够,请继续往下看

稍微完整的忽略规则

稍微完整的忽略规则如下所示:

  1. 空格不匹配任意文件,可作为分隔符,可用反斜杠转义
  2. * 通配符,多字符通配
  3. ? 通配符,单字符通配
  4. **表示匹配任意中间目录如,a/**/z 表示可以匹配a/za/s/za/a/s/z
  5. [] 可以匹配任何一个在方括号中的字符, 如a.[ac] 表示匹配 a.a 或者 a.c ,如果[]中有短划线 - 分割两个字符,则表示所有两个字符范围内的都可以匹配如 [a-z]
  6. [^…][!…]表示匹配不在列表中的字符,如[^abc]匹配除了a, b, c以外的字符。

忽略案例

说也说完了,光说不干也不是我的作风,上一个小案例

*.a             # 表示忽略所有 .a 结尾的文件
!lib.a          # 表示但lib.a除外
/TODO           # 表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/          # 表示忽略 build/目录下的所有文件,过滤整个build文件夹;
doc/*.txt       # 表示会忽略doc/notes.txt但不包括 doc/server/arch.txt
 
bin/:           # 表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin:           # 表示忽略根目录下的bin文件
/*.c:           # 表示忽略cat.c,不忽略 build/cat.c
debug/*.obj:    # 表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj
**/foo:         # 表示忽略/foo,a/foo,a/b/foo等
a/**/b:         # 表示忽略a/b, a/x/b,a/x/y/b等
!/bin/run.sh    # 表示不忽略bin目录下的run.sh文件
*.log:          # 表示忽略所有 .log 文件
config.php:     # 表示忽略当前路径的 config.php 文件

常用配置

最后上一个常用的配置,可供参考

#Maven beginning
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
#Maven Ending


#Gradle beginning
.gradle
**/build/
!src/**/build/
# Ignore Gradle GUI config
gradle-app.setting
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# Cache of project
.gradletasknamecache
# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898
# gradle/wrapper/gradle-wrapper.properties
#Gradle Ending


#Idea Begginning
.idea/
*.iml
out/
gen/
idea-gitignore.jar
resources/templates.list
resources/gitignore/*
build/
build.properties
junit*.properties
IgnoreLexer.java~
.gradle
.DS_Store
/verification
#Idea Ending

#Eclipse Begginning
.settings/
.classpath
.project
#Eclipse Begginning
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一碗周.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值