【发布时间】:2022-01-12 00:12:34
【问题描述】:
我正在运行命令 git rebase --continue 并收到错误:
error: update_ref failed for ref 'refs/heads/HEAD-feature': cannot lock ref 'refs/heads/HEAD-feature': is at db50dd34de1e90c0616bf9318be489ee8d9a012a but expected 83f09532b2352418c0f562f48929dc504e6a0452 error: could not update refs/heads/HEAD-feature
我查看了几个类似的问题,但没有一个答案有效。
我尝试了以下方法:
1. git update-ref -d refs/remotes/origin/HEAD-feature
2. git --no-optional-locks fetch --prune origin
3. git gc --prune=now
4. git remote prune origin
我发现克服这个问题的唯一方法是执行git rebase --abort,但随后我失去了在交互式 rebase 期间所做的所有更改。有什么想法吗?
【问题讨论】:
-
当您
git rebase --continue时,您是否总是会出现这种情况? #1顺利吗?它带有一些验证。您可以尝试从磁盘手动删除refs/remotes/origin/HEAD-feature,然后再次删除git fetch? -
它似乎运行良好,但我仍然遇到
git rebase --continue的问题 -
您是否尝试手动删除 refs(不使用 git update-ref)并再次获取?
-
hm,在我的情况下,我的 ref 仅在本地可用,我还没有把它放到远程。我尝试做
git reset HEAD^来删除更改并将它们隐藏然后git rebase --continue但它似乎有同样的问题 -
啊哈,好吧。感到困惑,因为您的命令涉及
origin。问题只是 this rebase 还是一般问题? “无法锁定 ref”通常意味着.git/refs文件夹的某种一般损坏。
标签: git