我看到有其他问题涉及这个主题,但它似乎也相当敏感。我不想删除任何数据,所以我想确保以正确的方式解决这个问题。当我尝试使用git自动完成任何事情时,我收到此错误。
warning: ignoring ref with broken name refs/stash 2
有谁知道这里出了什么问题以及如何解决?谢谢!
答案 0 :(得分:1)
我不清楚这些错误/损坏的引用名称是创建的。
要修复此问题,您可以删除它们:
git update-ref -d 'refs/stash 2'
但是,请注意,无论它们是什么制造,它们都可能期望它们有用(它们没有用)并保护各种内部Git对象(它们可能没有用,因为Git的某些部分将它们拒绝为无效)。
它们实际上是无效的;有关详细信息,请参见the git check-ref-format
documentation。 git update-ref
命令拒绝创建错误的引用,因此(再次)尚不清楚是什么的。 (可能是直接写入.git
的恶意软件。)
答案 1 :(得分:0)
您可以尝试以下方法之一:
git fetch --all --prune
这将获取所有遥控器,并应修复“损坏”的遥控器。 --prune
将从您的本地存储库远程远程访问所有已删除的内容
git fsck --full
!小心这个,这个命令将验证你的所有git对象都没有损坏,你应该得到一个悬挂的列表。
作为副作用,它将运行git gc
并清除您未使用的数据。