土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

メモ:gitで"fatal: loose object ~ in corrupt"エラーが出た(Dropbox絡み)

 最近、ソースコードをローカルでgit管理したいと思い、Dropbox内にリモートリポジトリを作ったのですが、別のマシンからそのリモートリポジトリを取得してブランチ切り替えしようとしたら以下のエラーが出ました。

 「ローカルリポジトリ内のblobファイル(05bb66~)が破損している」というエラーで、確認してみた所、ファイルに謎のアイコンが付与されていました。

 このファイルにアクセスしようとすると、このローカルリポジトリはDropbox管理外であるにも関わらず、Dropboxの通知が表示されます。

 どうやら、Dropbox管理下のリモートリポジトリがオンライン保存になっていると、リモートリポジトリにファイルの実体が保存されず、これによってエラーが出ているようです*1
 対処の為に、Dropbox上のBareリポジトリフォルダを右クリックして「オフラインアクセスを許可」を選択します。

 この状態で一度ローカルリポジトリを作業ツリーごと削除し、もう一度クローンすると、今度は問題無くチェックアウト出来ました*2

 Blobの謎アイコンも消えています。

 無事解決!

*1:多分

*2:ローカルリポジトリを削除せずに解決する方法が無いか試してみたのですが、これについては上手く行きませんでした。方法をご存知の方情報求む。