场景
之前提交SpringBoot项目时未添加或者设置不对.gitignore文件,导致target目录下的class文件
以及.idea等文件都被提交到gitlab远端仓库中了。
后面如果想再添加或者设置.gitignore文件并使之生效并删除远程仓库上的这些不需要的文件,
不能直接添加或者修改.gitignore文件,这样不会生效。
.gitignore 只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
那么解决方法就是先把暂存区的文件删除(改变成未被追踪状态)
注意:以下方法会将远程仓库中的文件也删除,而只保留本地文件,远程仓库中文件会保持与本地缓存区文件一致。
本地删除跟踪,那么提交后远程仓库的相关的文件也会被删除,请谨慎操作
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
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中打开,忽略的文件就是黄色标识,并且被忽略掉。
gitlab服务端原有的要忽略的文件也没有了
博客园:
https://www.cnblogs.com/badaoliumangqizhi/
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。