事象
普段ObsidianとGitHubを使って複数端末でドキュメント管理をしているのですが、ある日突然git pull
をするとタイトルのようなエラーが表示されていました。
terminal
MacBook-Air-3:$ git pull origin main
remote: Enumerating objects: 169, done.
remote: Counting objects: 100% (169/169), done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 169 (delta 127), reused 138 (delta 96), pack-reused 0 (from 0)
Receiving objects: 100% (169/169), 19.68 KiB | 4.92 MiB/s, done.
Resolving deltas: 100% (127/127), completed with 8 local objects.
fatal: bad object refs/remotes/origin/main 2
error: https://github.com/***/***.git did not send all necessary objects
原因
ref/remotes/origin/main 2
というファイルが生成されているため
解決策
問題となってるファイルを削除することで解決することができました。
$ rm .git/refs/remotes/origin/main\ 2
# パスにスペースが入っていたら`\`でエスケープする必要があるので注意