win-sshfsはたまにコケる、そしてGitがクラッシュしたお話


2015年08月22日

自宅での開発は MacBook Air を使用していますが、会社では Windows を使用しています。そもそも MacBook Air が初 Mac 環境であり、私は今でも Windows 環境の方が好きです。

しかし Windows でちょっと辛いのが SSHFS 周りです。私は普段 RubyMine を用いて開発をしていますが、仮想環境上にローカルのテスト環境を構築しています。VirtualBox の機能としてゲストの環境にホスト側のフォルダをマウントする機能はありますが、その逆をやろうと思ったらホスト側から SSHFS でマウントする感じになります。多分。他にも方法あるのかな?

その SSHFS についてですが、Mac では FUSE for OS X がありますが、Windows での選択肢としては win-sshfs になるみたいです。しかしこの win-sshfs、もう開発が止まってしまったみたいです。Windows 7 では動いてますが、10 だとどうなんだろう…。

まぁそんな win-sshfs ですが、ありがたいことに基本的には問題なく動いてくれています。しかしたまにコケるんですよ、何が原因かはよくわからないのですが。そしてそのコケっぷりが豪快で、一気にブルースクリーン一直線です、Windows 7 を使っててブルースクリーン見たの久しぶりでしたw

そしてタイトルの問題が発生したわけです。いきなり強制終了をくらったもんだから、Git が巻き込まれて壊れちゃったんですね。まぁ壊れると言ってもファイルが全部吹っ飛んだとかそういうのじゃなくて、git commit とかの操作を行おうとすると fatal とか corrupted とか怖い単語が並ぶんです。

どうしたもんかと思ってググってみたところ、ありがたいことに解決方法がまとまっていた記事がありました。

Gitで’fatal: object {hash} is corrupted’になった際の復旧手順 - ぼっち勉強会

HEAD の位置がおかしくなっていたのを修正したって感じでしょうかね。普段こんなところは触ってなかったのでおっかなびっくり対応しましたが、無事復旧することが出来ました。

しかしこの先開発環境をどうしていくか、色々悩みます。家のデスクトップは 5 年落ちの Windows なのでそろそろ買い換えたいですが、Windows 10 を乗っけてきちんと開発環境を整えるべきか、あるいは iMac の方に手を出してみるのが良いのか。