git删除远程忽略文件并添加已忽略的文件到.gitignore
最近做项目时发现,代码上传远程仓库之后把应该要忽略的文件或目录给push上去了(如.idea/,*.iml文件),
这时候去编辑project目录下的.gitignore文件并添加忽略已经不起作用了,因为.gitignore只对从来没有commit过的文件起作用。
那应该怎么处理呢?
可以通过git命令从暂存区删除已提交的文件或目录(就是把本地缓存删除,改变成未track状态),操作示例如下:
git rm -r --cached .idea/vcs.xml
git rm --cached xxxx.iml
或
git rm -r --cached .idea
接着修改.gitignore文件,并且commit 将修改后的暂存区合并到HEAD中,然后push的远端主机,命令如下:
git commit -am "gitignore文件修改删除XXX文件"
git push
备注:
1、如果项目目录下没有.gitignore文件,就需要创建将.gitignore文件并加入git,并push到远程git库
git add .gitignore 或
git commit -am "gitignore文件提交"
2、常见的.gitignore文件内容含:
/target/
/.settings/
.classpath
.project
.idea/
*.iml
等
3、同时删除暂存区和工作区的文件
git rm -f xxx.iml 或git rm xxx.iml
4、错误提交到了版本库,需要回退到之前的某一版本时
在这种情况下,只是删除了工作区和暂存区的文件,是不会修改远程库的。这个时候,需要撤销版本库的修改提交。可以使用git reset命令。
git reset有三个选项,--hard、--mixed、--soft。
//仅仅只是撤销已提交的版本库,不会修改暂存区和工作区
git reset --soft 版本库ID
//仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
//彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2019-06-12 mysql MVCC原理理解
2019-06-12 Node.js和Chrome V8 引擎了解