git--.gitignore--使用/详解/实例

简介
本文介绍git的.gitignore忽略文件的用法。

项目中并不是所有文件都需要保存到版本库中的,例如“target”目录及目录下的文件就可以忽略。

忽略某个文件(不提交到版本库的方法):在Git工作区的根目录下创建一个.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件或目录。

建议忽略的文件
如下文件建议忽略(不上传到版本仓库):

操作系统自动生成的文件,比如缩略图等
编译生成的中间文件,可执行文件等。
自己的带有敏感信息的配置文件,比如存放口令的配置文件
优先级
Git有多个地方可以配置忽略规则,它的优先级如下(由高到低):

命令行中的忽略规则,从上往下依次读取
当前目录定义的规则(当前目录的.gitignore文件)
父级目录定义的规则(父目录的.gitignore文件)
$GIT_DIR/info/exclude 文件中定义的规则
core.excludesfile中定义的全局规则
.gitignore匹配语法
采用的匹配规则是:globs。

**
匹配多级目录,可在开始,中间,结束
*
匹配零个或多个字符
?
匹配单个字符
[]
匹配单个字符列表
空格
不匹配任意文件,可作为分隔符,可用反斜杠转义
! 开头
表示否定,该文件将会再次被包含。如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。
可以使用反斜杠进行转义
/ 结束
只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
/ 开始
匹配项目根目录
不包含斜杠
它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录
.gitignore不生效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.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:*.class    HelloWorld.class
可以看到HelloWorld.class匹配到了我们的第一条*.class的忽略规则所以文件被忽略了。

示例
Java项目的.gitignore示例

HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/### VS Code ###
.vscode/# 忽略所有 .pyc 文件,它们是Python编译后的字节码
*.pyc
# 忽略所有 .pyo 文件,它们是Python优化后的字节码
*.pyo
# 忽略所有 .env 文件,这些文件通常包含敏感信息
*.env
# 忽略所有日志文件和文件夹
*.log
logs/#Built application files
*.apk
*.ap_# Files for the Dalvik VM
*.dex# Java class files
*.class# Generated files
*/bin/
*/gen/
*/out/# Gradle files
.gradle/
*/build/
gradlew
gradlew.bat# Local configuration file (sdk path, etc)
local.properties# Proguard folder generated by Eclipse
proguard/# Log Files
*.log# Android Studio Navigation editor temp files
.navigation/# Android Studio captures folder
captures/# Intellij#gradle wrapper
gradle/#some local files
*/.settings/
*/.DS_Store
.DS_Store
*/.idea/
.idea/
gradlew
gradlew.bat#tem
*.tem
*.temp
#.swp
*.*~
~*.*#打包的文件,Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar# virtual machine crash logs,
#see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*#iOS相关过滤规则
# Xcode
.DS_Store
#*/build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
*.hmap
*.xccheckout
*.xcworkspace
!default.xcworkspace#CocoaPods
Pods
!Podfile
!Podfile.lock#unity项目中使用的忽略规则
#/[Ll]ibrary/
#/[Tt]emp/
#/[Oo]bj/
#/[Bb]uild/
#/[Pp]rojectSettings/ProjectVersion.txt
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.userprefs
*.pidb
*.booproj
*.pidb.meta
sysinfo.txt# 忽略特定文件类型
*.bak

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海市计算机学会竞赛平台2022年4月月赛丙组闰年的判定

题目描述 给定一个正整数 𝑦y 表示一个年份,请判定 𝑦y 年是否为闰年,闰年分普通闰年与世纪闰年: 普通闰年的年份是 44 的倍数,但不能是 100100 的倍数;世纪闰年的年份是 400400 的倍数。 输…

用webui.sh安装报错No module named ‘importlib.metadata‘

安装sdweb报错,出现No module named importlib.metadata: glibc version is 2.35 Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage) Traceback (most recent call last):File…

Pytorch实现扩散模型【DDPM代码解读篇2】

扩散的代码实现 本文承接 Pytorch实现扩散模型【DDPM代码解读篇1】http://t.csdnimg.cn/aDK0A 主要介绍“扩散是如何实现的”。代码逻辑清晰,可快速上手学习。 # 扩散的代码实现 # 扩散过程是训练部分的模型。它打开了一个采样接口,允许我们使用已经…

【线性回归】

1. 简单线性回归 y ax b double[] x {540, 360, 240}; double[] y {205, 325, 445};问题 根据double[] x 和 double[] y ,计算y ax b中a和b的值 解决方法 最小二乘法:让距离(实验值和理论值的差值)的平方和最小 即&…

堆的基本操作(c语言实现)

1.堆的基本操作 1.1定义堆 typedef int HPDataType;//堆中存储数据的类型typedef struct Heap {HPDataType* a;//用于存储数据的数组int size;//记录堆中已有元素个数int capacity;//记录堆的容量 }HP;1.2初始化堆 然后我们需要一个初始化函数,对刚创建的堆进行初…

【C语言】路漫漫其修远兮,深入[指针]正当下

一. 指针初步 1.概念定义 地址:我们在内存中开辟空间时,为了方便后续访问,每个数据有确切的地址。 指针:指向数据的地址,并将其地址储存在指针变量中。 2.基本运算符 • 取地址操作符(&) …

stm32F103C8T6裸机如何提高响应速度

思路就是:将主函数的程序分为几块,不使用死延时函数,利用定时器中断,每1MS中断一次,然后中断1000次之后,过去了一秒钟,将1S标志位置1,然后主函数接收到之后,运行1S任务 …

【强化学习入门】基于DDPG的强化学习控制器设计

最近在看控制领域研究热门–强化学习相关的东西,跟着matlab官方强化学习教程一边看一边学,感觉入门门槛略高,需要补很多机器学习相关的知识,高数概率论那些,摸索了个把月感觉现在只大概会用,原理啥的还没搞…

进口家装水管十大品牌哪家好,弗锐德为您推荐进口家装水管领先十大品牌

水管作为家装隐蔽工程之一,选对一款优质的水管是至关重要的,毕竟好的水管能够保证家庭后续几十年的用水安全和健康。今天,小编就和大家说说进口家装水管十大品牌哪家好? 目前国内进口家装水管具有知名度和消费者认可的品牌有&…

自制一个3D打印的移动终端——T3rminal

T3rminal是我过去几个月一直在努力开发的一个CyberDeck,并希望将其开源。 我从不同设备如Decktility、YARH和其他项目中获得了灵感。 你可以在我的Github上协助并关注该项目:https://github.com/crazycaleb2008/T3rminal/tree/main/3D%20Models 材料 …

Edge的使用心得和深度探索-Sider: ChatGPT 侧边栏

作为一款备受欢迎的网络浏览器,Microsoft Edge在用户体验和功能方面都有着诸多优势。在长期的使用中,我总结出了三条使用心得,同时也发现了三个能够极大提高效率的功能。让我们一起深度探索Edge的潜力吧! 使用心得: 界…

Spring 常用的注入方式有什么?

Spring 是一个非常流行的 Java 开发框架,它提供了多种依赖注入(Dependency Injection)的方式,使得开发者可以轻松地管理应用程序中的组件依赖关系。在 Spring 中,常用的注入方式主要包括构造器注入、Setter 方法注入、…

【测试报告】星光日册

⭐ 作者:Jwenen 🌱 作者主页:Jwenen的个人主页 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 测试报告 1. 项目介绍2. 测试用例框架3. 自动化测试源码 1. 项目介绍 “星光日册”项目实现了用…

继续SQL

主知识点六:having 聚合前的筛选用where,聚合后的筛选用having Having和where的区别是:运行顺序和对象不用 Having是在group by聚合后的基础上进行筛选。 ● 【例题27*】(运行原理)查询总人口数至少为3亿的大洲和…

vxe-table 区域选取、复制粘贴功能,的基本使用

vxe-table区域选取、复制粘贴功能&#xff0c;的基本使用&#xff08;注&#xff1a;该功能仅支持企业版&#xff0c;这里仅供部分演示&#xff09; 1.鼠标区域选择功能&#xff1a; 参数说明&#xff1a; mouse-config.area 是否开启鼠标单元格区域选取 <template>&l…

基于深度学习的MVS学习笔记(05.04-05.07)

1. MVS方法与分类 1.1 问题界定&#xff1a;多目和单目双目 单目深度估计&#xff1a;拟合一个函数将图像【RGB输入】映射到深度图【浮点输出】双目深度估计&#xff1a;双目回归视差&#xff0c;可以进一步求像素距离相机光心的深度多视点三维重建 单目只能找到“相对的”相…

详解基于 RAG 的 txt2sql 全过程

前文 本文使用通义千问大模型和 ChromaDB 向量数据库来实现一个完整的 text2sql 的项目&#xff0c;并基于实际的业务进行效果的展示。 准备 在进行项目之前需要准备下面主要的内容&#xff1a; python 环境通义千问 qwen-max 模型的 api-keyChromaDB 向量数据库acge_text_…

Linux-笔记 uboot修改设备树

1. FDT介绍 扁平设备树&#xff08;Flattened Device Tree&#xff0c;FDT&#xff09;&#xff0c;也叫平坦设备树&#xff0c;是设备树的一种二进制表示形式&#xff0c;提高了在嵌入式系统中的传输和解析效率&#xff1b; 2. 在U-Boot中使用FDT 2.1. 进入U-Boot 开发板上…

OpenCV 入门(四)—— 车牌号识别

OpenCV 入门系列&#xff1a; OpenCV 入门&#xff08;一&#xff09;—— OpenCV 基础 OpenCV 入门&#xff08;二&#xff09;—— 车牌定位 OpenCV 入门&#xff08;三&#xff09;—— 车牌筛选 OpenCV 入门&#xff08;四&#xff09;—— 车牌号识别 OpenCV 入门&#xf…

【论文阅读】VMamba: Visual State Space Model

VMamba:视觉状态空间模型 code&#xff1a;https://github.com/MzeroMiko/VMamba Background ​ CNN拥有线性复杂度因而可以处理高分辨率的图像&#xff0c;而ViT在拟合能力方面超过了CNN&#xff0c;但ViT是二次复杂度&#xff0c;在处理高分辨率图像时计算开销较大。ViT通过…