.gitignore作用和使用以及文件无法变黄或忽略文件无效还是被提交问题

 

目录

 

.gitignore作用

 .gitignore使用

1.语法规范(熟悉正则很容易理解)

2.示例

文件无法变黄或忽略文件无效还是被提交问题

解决方案


.gitignore作用

.gitignore 文件在 Git 版本控制系统中扮演着非常重要的角色。在任何 Git 仓库中,.gitignore 文件都可以用来告诉 Git 忽略一些文件或文件夹,怎么把不需要的代码不进行上传,只上传自己需要的代码文件。

例如下图黄色文件可能正常情况下你都不想上传的git仓库,因为大多都是缓存文件,.gitignore 可以做到这点

 .gitignore使用

1.语法规范(熟悉正则很容易理解)


空行或是以#开头的行即注释行将被忽略;

以斜杠 “/” 结尾表示目录;

以星号 “*” 通配多个字符;

以问号 “?” 通配单个字符

以方括号 “[]” 包含单个字符的匹配列表;

以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录;

可以在前面添加斜杠 “/” 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。
 

2.示例

# 忽略 .a 文件
*.a# 否定模式:在模式前加上 ! 来否定忽略,例如 !lib.a 会跟踪名为 lib.a 的文件,即使前面有规则忽略所有 .a 文件。
!lib.a# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO# 忽略 build/ 文件夹下的所有文件
build/# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf

切记:.gitignore生效路径是相对路径,像上述的build/ ,指的是.gitignore同级目录下的build文件夹。

 下面写上我定义的内容(这是SpringBoot项目一般定义的内容,剩下的你可以自己加):

## Git忽略文件(YangLinwei 2021.08.06)
.DS_Store
.idea
*.iml
.idea
logs
out
gen
target

忽略提交的文件夹名称变成黄色了,就代表成功忽略该文件夹了,最后,我们提交的时候,IDEA就不会去读取gitnore忽略的文件了!

文件无法变黄或忽略文件无效还是被提交问题

如果想要忽略提交的文件夹名称变成黄色了,就代表成功忽略该文件夹了!

但我发现,我新添加了个jss文件,他没有变黄

而且commit时可以被检查到,这是因为.gitignore只能忽略那些原来没有被track(被跟踪管控)的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

简单点说上面的djsak.txt文件和jss文件夹都是我新增后,在.gitignore文件中添加的,在他添加时,我其实已经把他add命令添加到我的git缓存中进行跟踪了,此时在添加gitignore进行忽略是无效的。

在修改gitignore文件后,IntelliJ IDEA不会自动将之前已经被git跟踪的文件标记为未被跟踪的状态。

那什么样文件会被跟踪管控呢?

git管控的代码:
红色,不受到git管控,一般git init初始化某文件夹的时候,该文件夹下文件为红色,不被管控
黄色,git管控忽略掉这些文件,不被管控
绿色,受到git管控,该颜色由git add红色的文件后形成,管控
白色, git commit 绿色的文件后形成。commit后的文件存在本地的git仓库,可根据提交日志还原到原来版本,管控

解决方案

因此,即使修改了gitignore文件,但对应的代码也不会变成黄色,仍然保持为绿色或者白色。
如果要使被gitignore忽略的文件生效,需要手动将如上述jss文件夹复制到外边,删除idea 的jss文件夹,然后在复制进来,即可。或者以后先写gitignore文件在写要忽略的文件即可。

如果不行就在删除后jss文件夹,并提交一次commit,这样在之后的代码变化中就不会再被git跟踪了,然后再把jss文件夹复制代码中在提交就不会有问题了。

------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天

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

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

相关文章

保姆级AI绘画入门教程 从入门到实操!!!!小白必收藏!!!

手把手教你入门绘图超强的AI绘画程序,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包(文末可获取) 很多朋友想尝尝AI绘画的鲜,但是使用市场上的AI程序也好、软件也好&#…

HCIA-Datacom题库(自己整理分类的)_17_简单的命令判断【11道题】

1.华为AR路由器的命令行界面下,save命令的作用是保存当前的系统时间。 解析:Save保存配置 2.VRP界面下,使用命令delete vrpcfg.zp删除文件,必须在回收站中清空,才能彻底删除文件。√ 解析:delete删除到回…

uniapp自定义顶部导航并解决打包成apk后getMenuButtonBoundingClientRect方法失效问题

需求:要在app上的顶部导航提示哪里添加一些东西进去,用uniapp自带的肯定不行啊,所以自定义了所有的页面的顶部导航,之后自定义后用手机调试发现 uni.getMenuButtonBoundingClientRect()这个方法的top获取不到....网上找了很多种方…

中国电子学会2022年09月份青少年软件编程Scratch图形化等级考试试卷二级真题(含答案)

一、单选题(共25题,共50分) 角色初始位置如图所示,下面哪个选项能让角色移到舞台的左下角?( ) A. B. C. D. 2点击绿旗,执行下面程序,关于小鱼的运动描述正确 A.小鱼不会动 B.小鱼一会儿向上游,一会儿向下游。 C按下…

自动化的运维管理:探究Kubernetes工作机制的奥秘

1 云计算时代的操作系统 Kubernetes 是一个生产级别的 容器编排平台 和 集群管理系统 ,能够 创建、调度容器,监控、管理服务器。 容器是什么?容器是软件,是应用,是进程。服务器是什么?服务器是硬件&#…

华硕飞行堡垒FX53VD键盘全部失灵【除电源键】

华硕飞行堡垒FX53VD键盘全部失灵【除电源键】 前言一、故障排查二、发现问题三、使用方法总结 前言 版本型号: 型号 ASUS FX53VD(华硕-飞行堡垒) 板号:GL553VD 故障情况描述: 键盘无法使用,键盘除开机键外…

详解 ThreadPoolExecutor 的参数含义及源码执行流程?

Java 学习面试指南:https://javaxiaobear.cn 线程池是为了避免线程频繁的创建和销毁带来的性能消耗,而建立的一种池化技术,它是把已创建的线程放入“池”中,当有任务来临时就可以重用已有的线程,无需等待创建的过程&a…

开源C语言库Melon:多线程治理

问题描述 不知你是否有过类似如下的需求: 有一些功能,它们足够单一,但又需要后台持续运行,以容器实现感觉太重了,以进程实现又太琐碎了,以线程实现可以接受但是又不好管理。 这类程序诸如:数据…

详解c++移动构造函数和移动赋值运算符在代码性能中起的作用

对象移动 对象移动,就是把一个不想用了的对象A中的一些有用的数据提取出来,在构建新对象B的时候就不需要重新构建对象中的所有数据——从不想用了的对象A中提取出来的有用数据在构建对象B时都可以拿来使用。 我们知道,拷贝构造函数、拷贝赋…

Java中什么是多线程?

Java是一种支持多线程编程的编程语言,它提供了内置的多线程支持,使得开发者能够创建并发执行的程序。多线程是一种在同一程序中同时执行多个线程的机制,每个线程都是独立运行的,并且可以共享相同的资源。在Java中,多线…

设计模式之观察者模式【行为型模式】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某…

把图表题注编号由“0.1”改为“1.1“ (方法二)

前置设置: 手打章节标题,“第一章 绪论”,“第二章 相关理论和技术方法”。给章节标题设置样式 “标题一”,设置为一级标题。打开导航窗格,可以不开,我纯粹是为了操作方便。直接先给图片插入题注&#xff…

cpolar 内网穿透 使用

cpolar 内网穿透 使用 官网地址:https://www.cpolar.com/ 官网文档:https://www.cpolar.com/blog/cpolar-quick-start-tutorial-centos-series 获取隧道Authtoken:https://dashboard.cpolar.com/auth 步骤 1、先去注册 在这个地方注册&…

重磅2023年度openGauss标杆应用实践案例正式揭晓

12月28日,在openGauss Summit 2023峰会上,正式揭晓了“2023年度openGauss标杆应用实践案例”。 数据库作为企业IT系统的核心组成部分,是数字基础设施建设的关键,也是实现数据安全稳定的保障。为更好地推动产业技术创新&#xff0…

使用Linux防火墙管理HTTP流量

在Linux系统中,防火墙是用于控制网络流量的重要工具。通过防火墙,你可以根据需要限制、过滤或允许特定的网络流量,从而提高系统的安全性。在处理HTTP流量时,防火墙可以帮助你实施访问控制、流量监控和其他安全策略。 iptables i…

PPT插件-大珩助手-免费功能-特殊格式介绍

上、下标切换 直接切换选中的字符为上、下标。 大小金额 支持超大金额的大写金额转换 当前日期 本次打开文件的时间 转二维码 将当前选中的文字,转为二维码图片,并插入到PPT当前位置 特殊字符 内置常用的特殊字符,点击使用 软件介绍 …

Java多线程并发篇----第五篇

系列文章目录 文章目录 系列文章目录前言一、Java中interrupted 和 isInterruptedd方法的区别?二、Java中synchronized 和 ReentrantLock 有什么不同?三、有三个线程T1,T2,T3,如何保证顺序执行?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

关于CodeReview的一些实践和思考

在日常开发中,Code Review 的重要性日益凸显。它不仅有助于提升代码质量,还促进了团队成员之间的知识共享和技能提升。本文将主要聚焦于 Code Review,分享在这个过程中的一些心得和思考。 CodeReview常用到的一些术语 之前看到公司的大佬经…

autoxjs 安卓爬虫自动化

autoxjs 安卓爬虫自动化 我这里只是测试请勿用于违法的 我这里是小红书 文章目录 autoxjs 安卓爬虫自动化前言一、自动刷直播间并且抓取商品已经粉丝数量等?总结 前言 欢迎来到AutoXJS的世界,这是一个充满创新、挑战和技术探索的领域。在这个引领未来的…

基于Springboot+vue高校宿舍管理系统(前后端分离)

该项目完全免费 高校宿舍管理系统采用前后端分离的架构方式,是为学校宿舍管理打造的一套系统,可以让管理者更为便捷地处理学生公寓问题,从而大大提高管理效率,让学生公寓的资源合理分配,事半功倍,进而改善了学生公寓管理。 系统分为三种角色,分别是系统…