Git 报错:unable to update local ref
【摘要】 目录问题解决步骤一、清除松散对象。步骤二、刷新本地分支步骤三、拉取远端仓库代码问题今天在一个老旧项目目录中同步代码时遇到了一个报错:unable to update local ref。具体操作流程如下:root@928c09c89c1c:/home/work/bag# git pullerror: cannot lock ref 'refs/remotes/origin/lozen/re...
目录
问题
今天在一个老旧项目目录中同步代码时遇到了一个报错:unable to update local ref。
具体操作流程如下:
root@928c09c89c1c:/home/work/bag# git pull
error: cannot lock ref 'refs/remotes/origin/lozen/remux': 'refs/remotes/origin/lozen' exists; cannot create 'refs/remotes/origin/lozen/remux'
From git.baijiashilian.com:LLL/gloud/bag
! [new branch] lozen/remux -> origin/lozen/remux (unable to update local ref)
error: cannot lock ref 'refs/remotes/origin/lozen/tc': 'refs/remotes/origin/lozen' exists; cannot create 'refs/remotes/origin/lozen/tc'
! [new branch] lozen/tc -> origin/lozen/tc (unable to update local ref)
* [new tag] 1.0.8.142-dasheng -> 1.0.8.142-dasheng
* [new tag] 1.0.8.241 -> 1.0.8.241
* [new tag] 1.0.9.021 -> 1.0.9.021
执行完 git pull 命令之后,最新的分支都已经同步下来,但是有两个分支报错了,具体的报错信息就是 unable to update local ref。其实这是一种比较常见的 Git 的报错,今天遇到了,就拿出来介绍一下解决方法。
解决
就像把大象装冰箱,总共分三步。
步骤一、清除松散对象。
命令如下:
git gc --prune=now
执行过程如下:
root@928c09c89c1c:/home/work/bag# git gc --prune=now
Enumerating objects: 3534, done.
Counting objects: 100% (3534/3534), done.
Delta compression using up to 64 threads
Compressing objects: 100% (1211/1211), done.
Writing objects: 100% (3534/3534), done.
Total 3534 (delta 2306), reused 3450 (delta 2230)
步骤二、刷新本地分支
同步远程仓库分支到本地,删除远程分支不存在但是本地还有的分支,执行过程如下:
root@928c09c89c1c:/home/work/bag# git remote prune origin
Pruning origin
URL: git@git.baijiashilian.com:LLL/gloud/bag.git
* [pruned] origin/lozen
步骤三、拉取远端仓库代码
完成上面的两个步骤之后,我们就可以同步代码了,执行过程如下:
root@928c09c89c1c:/home/work/bag# git pull
remote: Enumerating objects: 123, done.
remote: Counting objects: 100% (123/123), done.
remote: Compressing objects: 100% (88/88), done.
remote: Total 123 (delta 69), reused 63 (delta 35), pack-reused 0
Receiving objects: 100% (123/123), 99.65 KiB | 2.93 MiB/s, done.
Resolving deltas: 100% (69/69), completed with 1 local object.
From git.baijiashilian.com:LLL/gloud/bag
* [new branch] lozen/remux -> origin/lozen/remux
* [new branch] lozen/tc -> origin/lozen/tc
Already up to date.
可以看到,现在就没有问题了,已经成功把代码同步下来了,哈哈。完美!
整个问题的解决过程截图如下:
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)