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