当前位置:   article > 正文

解决Git添加.gitignore文件后不生效的问题_项目添加..gitignore 不生效

项目添加..gitignore 不生效

1. 问题描述

在这里插入图片描述

如上图所示,在已存在.gitignore文件且已经提交过的Git管理的项目中,其中.class.jar文件以及.idea目录内的内容全部都还是被Git管理了,可见.gitignore文件并没有生效。

2. 原因发现

.gitignore文件只能作用于 Untracked Files,也就是那些从来没有被Git管理过的文件,如果某些文件已经被纳入了版本管理中,则新增或者修改.gitignore文件是无效的。

3. 解决方案

为了保险起见,建议先在本地仓库进行一次git pull,目的是与远程仓库同步,然后再在本地新建并切换到新分支,我命名为hotfix

git pull origin master
  • 1
git checkout -b hotfix
  • 1

第一步:先将暂存区的文件删除(即全部变为未被追踪状态)

git rm -r --cache .
  • 1

在这里插入图片描述
如上图所示,执行完第一步的bash代码以后在IDEA中可以发现,所有文件都变为了红色(未被追踪状态)。

第二步:添加或者修改正确的.gitignore文件
在与.git文件的同级目录下添加.gitignore文件。

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

第三步:再将本地所有文件添加至暂存区

git add .
  • 1

第四步:切换到master分支,再将hotfix分支的内容合并到master分支

git checkout master
  • 1
git merge hotfix
  • 1

第五步:推送至远程仓库

git push origin master
  • 1

推送完以后,通过git status指令查看本地库的状态,发现本地库很干净。再到Github仓库中查看文件,发现以前推送的.class.jar文件都被删除了,在本地修改文件时,.class.jar文件以及.idea目录内的内容也都不再被Git管理了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/871309
推荐阅读