SpringBoot项目中后来添加的.gitignore文件使其生效,删除远端原有的target等目录

场景

之前提交SpringBoot项目时未添加或者设置不对.gitignore文件,导致target目录下的class文件

以及.idea等文件都被提交到gitlab远端仓库中了。

SpringBoot项目中后来添加的.gitignore文件使其生效,删除远端原有的target等目录_第1张图片

 

后面如果想再添加或者设置.gitignore文件并使之生效并删除远程仓库上的这些不需要的文件,

不能直接添加或者修改.gitignore文件,这样不会生效。

 .gitignore 只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

那么解决方法就是先把暂存区的文件删除(改变成未被追踪状态)

注意:以下方法会将远程仓库中的文件也删除,而只保留本地文件,远程仓库中文件会保持与本地缓存区文件一致。

本地删除跟踪,那么提交后远程仓库的相关的文件也会被删除,请谨慎操作

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、先将本地未提交的更改全部提交并推送到 远端。

然后删除本地所有的缓存。

git rm -r --cached .

2、本地添加或者修改正确的.gitignore文件,下面提供一个示例的SpringBoot项目的.gitignore文件

######################################################################
# Build Tools

.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar

target/
!.mvn/wrapper/maven-wrapper.jar

######################################################################
# IDE

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### JRebel ###
rebel.xml

### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/

######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp

!*/build/*.java
!*/build/*.html
!*/build/*.xml

3、添加本地所有要提交的文件

git add .

4、提交

git commit -m 'update .gitignore'

5、推送

git push

6、此时本地在idea中打开,忽略的文件就是黄色标识,并且被忽略掉。

SpringBoot项目中后来添加的.gitignore文件使其生效,删除远端原有的target等目录_第2张图片

 

gitlab服务端原有的要忽略的文件也没有了

SpringBoot项目中后来添加的.gitignore文件使其生效,删除远端原有的target等目录_第3张图片

 


 

你可能感兴趣的:(版本管理,spring,boot,java,后端)