不幸的是,像 prune 和 reset 或 push 这样的 GIT 命令对我不起作用。修剪工作一次,然后问题又回来了。
对我有用的永久解决方案是手动编辑 git 文件。只需转到项目的 .git 文件夹,然后在 Notepad++ 等文本编辑器中打开文件 packed-refs。然后导航到带有失败分支的行并将其 guid 更新为预期的。
如果你有这样的消息:
错误:无法锁定 ref 'refs/remotes/origin/feature/branch_xxx':位于 425ea23facf96f51f412441f41ad488fc098cf23 但预期为 383de86fed394ff1a1aeefc4a522d886adcecd79
然后在文件中找到带有refs/remotes/origin/feature/branch_xxx
. 那里的向导将是预期的(第二个)一个 - 383de86fed394ff1a1aeefc4a522d886adcecd79
。您需要将其更改为真正的(第一个)一个 - 425ea23facf96f51f412441f41ad488fc098cf23
。
重复其他失败的分支,你会很好地继续。有时在重新获取后,我不得不重复我之前已经“修复”过的相同分支。在重新获取 GIT 更新指南并为您提供最新的。
无论如何,这个问题不是一个表演障碍。分支列表得到更新。这是一个警告。