添加.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

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

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

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值