Git 提交代码 reference broken 问题处理

99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来,认真做完事情,战胜焦虑,战胜那些心里空荡荡的时刻,而不是选择逃避。不要站在原地想象困难,行动永远是改变现状的最佳方式

写在前面


  • 理解不足小伙伴帮忙指正 :),生活加油

99%的焦虑都来自于虚度时间和没有好好做事,所以唯一的解决办法就是行动起来,认真做完事情,战胜焦虑,战胜那些心里空荡荡的时刻,而不是选择逃避。不要站在原地想象困难,行动永远是改变现状的最佳方式


遇到的问题:

本地代码 commit 之后提交不了,报下面的

1
2
3
4
5
6
7
8
9
error: could not delete reference refs/remotes/origin/HEAD: cannot lock ref 'refs/remotes/origin/HEAD': unable to resolve reference 'refs/remotes/origin/HEAD': reference broken
From https://github.com/LIRUILONGS/blog
- [deleted] (none) -> origin/HEAD
remote: Enumerating objects: 9, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 5 (delta 3), reused 5 (delta 3), pack-reused 0 (from 0)
fatal: bad object refs/remotes/origin/HEAD
error: https://github.com/LIRUILONGS/blog.git did not send all necessary objects

问题分析

Git在尝试删除远程引用refs/remotes/origin/HEAD时遇到了问题,因为该引用已经损坏开发过程中,突然断电了,所以会这样。

解决办法:

  1. 备份工作区

在进行任何可能影响仓库状态的操作之前,建议先备份你的工作区。

  1. 删除损坏的引用

可以尝试手动删除损坏的引用。打开终端或命令提示符,导航到你的Git仓库目录,然后运行以下命令:

1
liruilong@liruilongs:/mnt/c/Users/liruilong/Documents/GitHub/blog$ rm -f .git/refs/remotes/origin/HEAD
  1. 删除损坏的文件,然后重新 fetch.
1
liruilong@liruilongs:/mnt/c/Users/liruilong/Documents/GitHub/blog$ git fetch --prune origin

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知 :)



© 2018-至今 liruilonger@gmail.com, 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)

发布于

2024-10-10

更新于

2024-11-22

许可协议

评论
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×