当前位置: 首页 > news >正文

解决 Git LFS 切换分支失败问题

场景描述

在本地已有分支 A 的情况下,目前工作在分支 B。当尝试从 B 分支切回 A 分支时,由于 A 分支存在 LFS 上传的大文件,导致切换失败。这个问题通常是因为某些 LFS 文件在服务器上不存在或没有权限访问。

报错日志

切换分支时遇到的错误日志如下:

Error downloading internal/rdb/dump.rdb (852c652352e4ac590e4002b42849c82a4bae3c962cce5c0f774dc132c3436058): [852c652352e4ac590e4002b42849c82a4bae3c962cce5c0f774dc132c3436058] Object does not exist on the server or you don't have permissions to access it: [404] Object does not exist on the server or you don't have permissions to access itErrors logged to '/Desktop/.git/lfs/logs/20240926T173103.764992.log'.
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: internal/rdb/dump.rdb: smudge filter lfs failed
解决办法

为了成功切换回分支 A,并处理 LFS 文件的问题,可以按照以下步骤操作:

  1. 忽略 LFS 报错并强制切换分支

    由于 LFS 文件的问题导致无法正常切换分支,我们可以通过忽略 LFS 报错并强制切换分支来解决这个问题。执行以下命令:

    GIT_LFS_SKIP_SMUDGE=1 git checkout -f A
    

    这里,GIT_LFS_SKIP_SMUDGE=1 用于忽略 LFS 文件下载错误,-f 用于强制切换分支。

  2. 删除 LFS 的大文件提交

    切换到分支 A 后,如果确认不再需要 LFS 的大文件,可以删除这些文件的提交记录。具体操作如下:

    git rm --cached docker/RedisShake/internal/rdb/dump.rdb
    git commit -m "Remove large LFS file"
    

    这将从 Git 历史记录中删除该文件,但不会从工作目录中删除它。

  3. 推送更改

    最后,将更改推送到远程仓库:

    git push origin A
    
http://www.lryc.cn/news/449629.html

相关文章:

  • BaoStock 的安装
  • 聚势启新 智向未来 | 重庆华阳通用科技有限公司揭牌成立
  • 【数据结构与算法】Z算法(扩展KMP)(C++和Python写法)
  • 免费语音转文字软件全览:开启高效记录新时代
  • PHP“===”的意义
  • Tomcat架构解析
  • 如何在 Kubernetes 上部署和配置开源数据集成平台 Airbyte?
  • 信息技术与商业变革:机遇与挑战
  • JavaWeb之过滤器
  • 学习 笔记
  • Flask-1
  • pve 直通硬盘
  • NLP_情感分类_机器学习(w2v)方案
  • 240929-CGAN条件生成对抗网络
  • springboot第74集:设计模式
  • 数字化采购管理革新:全过程数字化采购管理平台的架构与实施
  • Webpack 特性探讨:CDN、分包、Tree Shaking 与热更新
  • Robot Operating System——一组三维空间中的位姿(位置和方向)
  • mycat读写分离中间件
  • Growthly Quest 增长工具:助力 Web3 项目实现数据驱动的增长
  • Pytorch 学习手册
  • 第十一章 【前端】调用接口(11.1)——Vite 环境变量
  • MySQL添加时间戳字段并且判断插入或更新时间
  • SOA(面相服务架构)
  • One2many(一对多)关联场景中,如何从模型(一)关联到模型(多)的某个字段
  • LLaMA 3 和 OpenAI有哪些相同点和不同点?
  • Spring 事务管理及失效总结
  • 全局思维下的联合创新:华为携手ISV伙伴助推银行核心平稳升级
  • 深度估计任务中的有监督和无监督训练
  • 扩散模型DDPM代码实践