Logseqのgitでfatal: bad object refs/heads/main 2 が出てしまった時の対処法

公開日:
目次

Logseqでgitを利用していたら、急にエラーに遭遇したので対処法を備忘録として残します。

Logseqで遭遇したエラー

遭遇したのは以下のエラーメッセージでした。

Image from Gyazo

このエラーはLogseqの.gitディレクトリ内にあると思われる、予期せぬファイルが原因で発生しているようでした。

原因は不明なファイル

この問題の背景にあるのは、なぜか作成されてしまった変なファイルの存在です。

詳細な原因は不明ながら、類似の事象に関する情報は下記に記載があります。

解決策

対処法としては、Logseqのグラフが保存されているフォルダの.gitディレクトリ内のrefs/headsの中にある「main 2」というファイルを削除すればOKです。

マウスで削除してもいいですが、今回はターミナルコマンドから削除しました。

cd コマンドでLogseqのディレクトリに移動した後、以下のコマンドを使用しました。

rm .git/refs/heads/main\ 2

このコマンド実行により、最初に遭遇したfatalエラーは解決するはず…と思いきや、別の似たようなエラーメッセージが再び現れました。

この新たなエラーも、前回と同様に変なファイルが原因であることがわかりました。そして、同じ方法でこのファイルも削除しました。

rm .git/refs/remotes/origin/main\ 2

これらの操作後、gitの更新が一時的に機能しなくなるという新たな問題に遭遇しましたが、しばらくすると更新が再び可能になったので少し待つ必要があるかもしれません。