モロ屋

アキバではたらくWebエンジニア。JavaScript / AWS / Mac

Macで開発サーバーをマウントしてgitをSourceTreeで扱う

意外と情報が無かったので。

最初はTransmitのディスクマウント機能でSFTPでマウントして、リモート側のリポジトリをSourceTreeでいじって… という感じにしようとしたら、下のようなエラーが。

error: file write error (Input/output error)
fatal: unable to write sha1 file

あれー

このへんが悪さをしている模様。

先にリードオンリーでファイルだけ作られて、内容の書き込みに失敗するのが原因っぽい。

cofsでマウントしたディレクトリ内でgitがうまく動かないとき - atsumu-t2の日記

仕方ないので、MacFUSEでマウントさせる。

MacFUSE本家は開発終了したらしく、FUSE for OS Xという互換性のあるものがあり、これをインストール。

Home - FUSE for OS X

で、インストールするときに「MacFUSE Compatibility Layer」にチェックを入れる。

f:id:molov2:20130511123239p:plain

これを入れておけば、MacFUSE時代のアプリが使える。

で、MacFusionをインストール。

Macfusion

SSHFSで開発サーバーにSSHで接続。

マウントするディスクのアイコンがデフォルトださすぎるので、オプションからPanicのデザイナーさんが作ったかっこいいアイコンに変更。

Panic Blog » Waritsuki Drive Icons

あとはSouceTreeで、マウントしたパス(/Volumes/~~~)を作業コピーとして追加するか、リポジトリを作成すればOK!

あとはgit pushすればdeployされるような環境を作れば便利。

git pushでdeployな生活をつくる方法 - コードで気楽な日々を