admin 管理员组

文章数量: 1086877

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 ! 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 refsremotesoriginmaster