.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,一经查实,立即删除!

相关文章

Spring Boot 和 Spring 有什么区别

Spring Boot 和 Spring 是两个不同的概念,它们服务于不同的目的,但它们之间有着紧密的联系。下面是它们之间的主要区别: 目的和定位: Spring:Spring 是一个开源的 Java 平台,它最初由 Rod Johnson 创建&am…

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

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

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

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

常用连读技巧2

1. how to do it – 咋做 连读的时候的音标是/haʊdə du ɪt/:听起来就像是【薅的毒it】 “how to do” 中的 “w” 和 “to” 之间会发生连读。在口语中,“to” 常常被弱读为 /tə/ 或 /tu/,所以 “how to” 发音时可以近似为 /haʊtə/ 或…

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

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

Vue 缓存Hook:提高接口性能,减少重复请求

前言 在开发 Web 应用时,我们经常会遇到需要重复调用接口的场景。例如,当用户频繁刷新页面或进行某个操作时,我们可能需要多次请求相同的数据。这不仅会增加服务器负担,还会导致用户体验下降。为此,我们可以使用缓存机…

树莓派Debian系统中如何用mDNS广播自己的ip地址

在 Debian 系统的树莓派上使用 mDNS(Multicast DNS)广播其 IP 地址通常涉及到 Avahi 服务的使用。Avahi 是 Linux 系统中的一个零配置网络(Zeroconf)实现,它允许设备在没有配置DNS服务器的情况下通过网络发现服务和主机…

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

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

【代码随想录】刷题笔记Day49

前言 跑了个步吃了个饭洗了个澡以及和母上打了个电话,继续来刷题咯o(* ̄▽ ̄*)ブ 122. 买卖股票的最佳时机 II - 力扣(LeetCode) 贪心法 之前写过的,代码直接看【代码随想录】刷题笔记Day35-CSDN博客 动规法…

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

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

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

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

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

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

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

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

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

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

14 .docker部署若依

文章目录 0.参考资料1. 创建网络2.制作java容器3.容器启动 0.参考资料 https://blog.csdn.net/Pan_peter/article/details/128807946 1. 创建网络 因为java容器的运行需要访问mysql和redis容器,nginx容器需要访问java容器,所以需要创建一个他们能互相…

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、先去注册 在这个地方注册&…

开发规范及常用工具

一、定义对象规范 entity : 是与数据库一一对应的字段 vo : 返回给前端的视图对象 dto : 前端传过来的参数封装成dto,用于返回给前端的对象,一般用于查询操作。 POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。 1、entity实体类与数据库中的字段一一对应…