error: cannot lock ref ‘refs/remotes/origin/master‘
Posted GoldenaArcher
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error: cannot lock ref ‘refs/remotes/origin/master‘相关的知识,希望对你有一定的参考价值。
error: cannot lock ref ‘refs/remotes/origin/master’
报错信息
remote: Azure Repos
remote: Found 41 objects to send. (2 ms)
Unpacking objects: 100% (41/41), 59.60 KiB | 344.00 KiB/s, done.
error: cannot lock ref 'refs/remotes/origin/master': is at XXXXX but expected OOOOO
From https://dev.azure.com/12345678/987654321
! 1111111..ffffffff master -> origin/master (unable to update local ref)
解决方案
CSDN 上也网上找了一些解决方案,不过都说是要删除本地的文件或者是分支之类的,需要做备份什么的就很麻烦,感觉就不太好。最后还是在 Stack Overflow 的这个 post:cannot lock ref 'refs/remotes/origin/master’上找到了答案。
方案 1:update-ref
这个是解决了我的问题的答案:
# 先更新一下reference
git update-ref -d refs/remotes/origin/[locked branch name]
# 随后同步代码
git pull
发生这个情况的原因是本地的 reference 和云端的不一样时导致的,因此同步一下双方的 reference 即可。
方案 2:prune remote
# 清理远程的dev分支
git remote prune origin
git remote prune origin
可以清理远程的本地分支,但是不会动本地的开发分支。
不知道为什么听起来有点危险的感觉……是时候应该重新学习一下 git 命令行了。
以上是关于error: cannot lock ref ‘refs/remotes/origin/master‘的主要内容,如果未能解决你的问题,请参考以下文章
sh git pull error:cant lock refs
Transport Error: Cannot get remote repository refs.https://github.com/xxx/test1.git: cannot open git
node出现的错误——Error: Cannot find module 'fs.realpath'
Android 新建项目报错(CANNOT RESOLVE SYMBOL R)
ERROR 3077 (HY000): To have multiple channels, repository cannot be of type FILE; Please check the r