大鹏一日同风起,扶摇直上九万里。这篇文章主要讲述git--.gitignore--使用/详解/实例相关的知识,希望能为你提供帮助。
?
简介
本文介绍git的.gitignore忽略文件的用法。
项目中并不是所有文件都需要保存到版本库中的,例如“target”目录及目录下的文件就可以忽略。
忽略某个文件(不提交到版本库的方法):在Git工作区的根目录下创建一个.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件或目录。
建议忽略的文件如下文件建议忽略(不上传到版本仓库):
- 操作系统自动生成的文件,比如缩略图等
- 编译生成的中间文件,可执行文件等。
- 自己的带有敏感信息的配置文件,比如存放口令的配置文件
- 命令行中的忽略规则,从上往下依次读取
- 当前目录定义的规则(当前目录的.gitignore文件)
- 父级目录定义的规则(父目录的.gitignore文件)
- $GIT_DIR/info/exclude 文件中定义的规则
- core.excludesfile中定义的全局规则
# Compiled class file
*.class
# Eclipse
.project
.classpath
.settings/
# Intellij
*.ipr
*.iml
*.iws
.idea/
# Maven
target/
# Gradle
build
.gradle
# Log file
*.log
log/
# out
**/out/
.gitignore匹配语法采用的匹配规则是:globs。
- 空格不匹配任意文件,可作为分隔符,可用反斜杠转义
- 开头的文件标识注释,可以使用反斜杠进行转义
- ! 开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义
- / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
- / 开始的模式匹配项目跟目录
- 如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录
- ** 匹配多级目录,可在开始,中间,结束
- ? 匹配单个字符
- * 匹配零个或多个字符
- [] 匹配单个字符列表
解决方法:
git rm -r --cached .
git add .
git commit -m .gitignore
git push origin master
检查.gitignore规则 如果发现.gitignore有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查:
$ git check-ignore -v HelloWorld.class
.gitignore:1:*.classHelloWorld.class
【git--.gitignore--使用/详解/实例】可以看到HelloWorld.class匹配到了我们的第一条*.class的忽略规则所以文件被忽略了。
推荐阅读
- 如何开启 ABAP Update function module 和系统程序的调试功能
- Windows11离线安装WindowsTerminal
- SAP 云平台上的 ABAP 编程环境里如何消费第三方服务
- Windows命令--ipconfig--使用/详解
- IoT产品规划(豆豆三部曲的底层逻辑是规划能力)
- 疯狂的元组
- Git 如何从特定的提交中创建一个新的分支
- /etc/ansible/hosts高级安装openshift配置详解
- App自动化测试环境安装