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

git fetch 失败,因为 unable to resolve reference 'refs/remotes/origin/xxx': reference broken

我在使用 git fetch 命令的时候,发现竟然会失败,提示错误 error: cannot lock ref 'refs/remotes/origin/xxx': unable to resolve reference 'refs/remotes/origin/xxx': reference broken

本文介绍如何修复这样的错误,并探索此错误产生的原因。


本文内容

    • 错误
    • 修复

错误

在使用 git fetch 命令之后,发现竟然出现了错误,错误输出如下:

$ git fetch --all --prune
Fetching origin
error: cannot lock ref 'refs/remotes/origin/next/release': unable to resolve reference 'refs/remotes/origin/next/release': reference broken
From git***.***.com:walterlv/demo-project
 ! [new branch]            next/release        -> origin/next/release  (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/feature/ai': unable to resolve reference 'refs/remotes/origin/feature/ai': reference broken
 ! [new branch]            feature/ai          -> origin/feature/ai  (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/release': unable to resolve reference 'refs/remotes/origin/release': reference broken
 ! [new branch]            release             -> origin/release  (unable to update local ref)
error: Could not fetch origin

修复

前往仓库路径,然后删除这些分支对应的文件。

  1. 前往仓库所在的本地文件夹;
  2. 进入子目录 .git\refs\remotes
  3. 一个个对着上面失败的分支,将其删除。

删除错误的分支

比如在我的错误例子中,要删除的文件分别是:

  • .git\refs\remotes\origin\next\release
  • .git\refs\remotes\origin\feature\ai
  • .git\refs\remotes\origin\release

随后,重新尝试 git fetch,git 会重新生成这些分支文件,因此不用担心会删出问题:

$ git fetch --all --prune
Fetching origin
From gitlab.gz.cvte.cn:t/tech-app/dev/win/app/easinote
   a1fd2551f7..cfb662e870  next/release  -> origin/next/release
 * [new branch]            feature/ai    -> origin/feature/ai
   97d72dfc8f..ceb346c8e2  release       -> origin/release

我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

知识共享许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

相关文章:

  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • 发现电脑屏幕总是不自动关闭?看看你是否打开了这些程序……
  • 临时编写和调试 C++ 代码?用 VSCode 就够了!一分钟搭好 C++ 调试环境
  • WPF 制作高性能的透明背景异形窗口(使用 WindowChrome 而不要使用 AllowsTransparency=True)
  • 在 WPF 中获取一个依赖对象的所有依赖项属性
  • 如何在 WPF 中获取所有已经显式赋过值的依赖项属性
  • .NET 设计一套高性能的弱事件机制
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • WPF 程序如何跨窗口/跨进程设置控件焦点
  • 使用 SetParent 制作父子窗口的时候,如何设置子窗口的窗口样式以避免抢走父窗口的焦点
  • WPF 程序如何移动焦点到其他控件
  • EFI 分区/恢复分区不可删除?你需要使用命令行了(配合鼠标操作)
  • EFI 分区/恢复分区不可删除?你需要使用命令行了(全命令行操作)
  • 使用傲梅分区助手无损合并分区,无损调整分区大小
  • [译]Python中的类属性与实例属性的区别
  • CSS3 变换
  • Django 博客开发教程 16 - 统计文章阅读量
  • gulp 教程
  • Python语法速览与机器学习开发环境搭建
  • SpiderData 2019年2月16日 DApp数据排行榜
  • XML已死 ?
  • 排序算法学习笔记
  • 收藏好这篇,别再只说“数据劫持”了
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #define用法
  • $jQuery 重写Alert样式方法
  • $L^p$ 调和函数恒为零
  • (09)Hive——CTE 公共表达式
  • (1)(1.11) SiK Radio v2(一)
  • (BFS)hdoj2377-Bus Pass
  • (C#)获取字符编码的类
  • (C++17) optional的使用
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (附源码)计算机毕业设计大学生兼职系统
  • (蓝桥杯每日一题)love
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)linux 命令大全
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET BackgroundWorker
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET Micro Framework 4.2 beta 源码探析
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [CISCN 2019华东南]Web11
  • [Gym-102091E] How Many Groups
  • [HDU 3555] Bomb [数位DP]
  • [HTML API]HTMLCollection
  • [HTML]Web前端开发技术18(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用——喵喵画网页
  • [iHooya]2023年1月30日作业解析
  • [LeetCode] 197. 上升的温度