【发布时间】:2022-12-01 11:23:45
【问题描述】:
我今天做了几次 git pull,没有问题。我没有在本地更改或修改任何内容。
现在我再做一次 git pull,突然得到这个:
error: cannot lock ref 'refs/remotes/origin/task/DEV-2527/DEV-2535': 'refs/remotes/origin/task/DEV-2527' exists; cannot create 'refs/remotes/origin/task/DEV-2527/DEV-2535'
From https://dev.azure.com/xxx/xxx-web/_git/xxx-web
! [new branch] task/DEV-2527/DEV-2535 -> origin/task/DEV-2527/DEV-2535 (unable to update local ref)
我试过“git gc”,但这没有帮助。
我读过“git remote prune origin”可能有帮助,但我不想做任何可能损坏 azure 远程仓库的事情。
【问题讨论】:
-
修剪是本地操作,不会损坏远程存储库中的任何内容。问题源于您有两个分支共享“类似目录”的前缀:
task/branch_a和task/branch_a/branch_b。解决方案是重命名或“取消嵌套”分支:task/branch_b。 -
有趣的是,我不认为我创建了这个嵌套结构。这一定是另一个开发者推动的。我们如何解决?
-
我的猜测是它已经在远程仓库中修复了,你只需要
git fetch --prune来删除剩余的分支。
标签: git