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

 

目录

 

.gitignore作用

 .gitignore使用

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

2.示例

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

解决方案


.gitignore作用

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

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

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

 .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忽略的文件了!

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

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

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

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

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

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

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

简单点说上面的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文件夹复制代码中在提交就不会有问题了。

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

你可能感兴趣的:(java框架,java)