0


添加.gitignore后为什么还提示已忽略的文件待提交?

本文环境:

IDE:IntelliJ IDEA

jdk8

maven工程

gitlab代码仓库

现象:

明明在工程目录下已创建.gitignore文件,且已添加如.idea,target之类的路径排除,但每次提交时总提示target/下的文件有变更,如下:

.gitignore:

commit窗口提示:

原因分析:

.gitignore按照它的用途来说,肯定是生效的,但为什么会出现这种情况呢?

原来它只是对从来没有追踪过的文件生效,如果是项目后期加的,也就是说要排除的文件已经被纳入到版本管理中了,那这个时候直接添加是不会起作用的,如果要生效,还需要做些额外的处理

解决途径:

进入项目目录,执行如下命令:

1、git ls-files

查看暂存区的全部文件,也就是git追踪的文件列表

2、git rm -r --cached xxx

xxx表示要从暂存区删除的文件,如git rm -r --cached target/* .idea/*,执行后,对应的文件将处于未跟踪状态,.表示删除所有文件

3、git ls-files -o

查看未追踪的文件,进一步可以验证在上一步操作后是否已生效

(此时,可再次刷新commit窗口查看文件变化)

4、git status

查看目前状态,可以看到在第二步中相关的文件为deleted

5、git commit -m .

将本次变更提交至本地仓库

6、git push origin master

将本次变更提交至远程仓库

最后,得以解决,再次修改,将不再显示不再追踪的目录及文件了

标签: git

本文转载自: https://blog.csdn.net/github_38727595/article/details/127655089
版权归原作者 Jack_abu 所有, 如有侵权,请联系我们删除。

“添加.gitignore后为什么还提示已忽略的文件待提交?”的评论:

还没有评论