2010年7月3日土曜日

Git+Dropbox

ナメック星人が口笛がダメなのと同様に、普通、人間が聞いたときに耐えられない音、というのは幾つかあって、
・黒板をひっかくときの音
・ドラクエのデータが飛んだ時のアレ
・ガリガリ……というHDDの異音
あたりが該当すると思うんだけど、最後のが最近頻発するようになってきてヤバいなあ、と感じ始めた。大事なファイルに関してはいちおうバックアップはたまにとってるけど、あんまり頻繁にやってるわけでもないし、作業中にファイルなんかは結構放っておいてる。一応今までクラッシュした経験は何度かあって、その度に「まあしゃあねえわ」と諦めてきたわけだけど、今年はちょっと失うと痛いデータが多い。ので、少し真面目にツールの導入を考えていた。

とりあえず今まで使ってたのが『SyncToy』。Microsoft製のフリーツールで、実行すると指定した二つのフォルダ間の同期をとってくれる。かなり高速に動作するし、インターフェースもシンプル。ファイルの移動なんかもちゃんと認識してくれるなかなか賢いやつ。これでUSBメモリの中と幾つかの作業フォルダを同期させるというのがだいぶ前の俺のバックアップライフだった。けど、結論をいえば使ってて飽きた。
俺はメインのデスクトップとサブのノートをわりと行ったり来たりしながら作業する。ので、デスクトップのほうで同期とろうとしたら「あー、あっちに差しっぱだったかー」みたいなことが結構あって、これが地味にストレス。いやー、めんどいよ、実際。ただ、ちゃんと真面目に同期とってる間は、ノートとデスクトップの内容も作業時の最新版が一致するわけで、便利ではあったんだけど。

で、そうしためんどさを解消するために白羽の矢が立ったのが『DropBox』。オンラインストレージ(無料版は2GB)と各マシンローカルの「mydocument/My Dropbox」ディレクトリの間で自動的に同期をとってくれるというステキサービス。去年だったかな、わりと評判になって、その時に俺も導入して、それでやっぱりすぐに飽きた<駄目人間
作業フォルダをMy Dropboxに限定すればかなり確実にバックアップがとれるんだけど、実際のところ作業中のファイルなんか色々ジャンルがあるわけで、一個のフォルダに全部移動するのはちょっと気持ちが悪い。ちなみに任意のフォルダと同期をとってくれる似たようなサービスで『SugarSync』ってのもあって、こっちは少しの間使ってた。でも微妙に不安定なのでやっぱりすぐにやめてしまった。
というか、この辺りで自分のミスに気がついていて、俺、ワンセンテンスかそれ以下のスパンでCtrl+S(保存)する癖があるので、作業フォルダを自動同期対象にするのは完全に無理筋だった。五秒間隔くらいでアップロードが入って、前の同期が終わってないのに更に上書きしたりする(SugarSyncが不安定だったのはこのせいかもしれない)。同期履歴みたいな機能もあるんだけど、見ると大変キモいことになっていて、自分でやったことながら若干不愉快でさえあった。

……つーわけで、しばらくバックアップはサボってたんだけど、これ、もう結論出ちゃってるね。しばらく前から実はDropbox+SyncToyで結構快適に過ごせるんじゃないの? ということにぼんやり気がついていた。Dropboxにはどのマシンからでもアクセスできるので、作業が終わったらSyncToyで「My Dropbox」フォルダと各作業フォルダの同期をとってあげればいい。メディアと違って取り外したり取り付けたり、みたいな手間がかからず大変シームレス。ただまあ、バックアップってクラッシュしない限りは無駄なものですし? HGST製のHDDがそんなに簡単に壊れるものですかよ環境構築するのめんどい(本音漏れた)。みたいな理由でずっと先送りにしてたのが、この度ようやく実行の運びになったと。

が、せっかくやる気も出たことだし、せっかくだから色々試してみますかとSyncToyをパスしてバージョン管理システムの『Git』を導入。ここのところはテキストの整形ツールなんかも適当に作ったりしてて、ソース管理もしてみたいなあ、と思ってたので。あとバージョン管理童貞であることも気になってた。ぶらんち? まーじ? なに? みたいな。まあこの機会に筆おろしちゃおうかなあと。
バージョン管理システム自体は有名なCVS、Subversion辺りを始めとして色々あって、どれ使えばいいのかよくわからんかったのだけど、ここを参考に個人利用が○になってたGitを導入してみた。実はDropboxは30日間の間であればファイルの履歴をとっておいてくれるので、俺くらいの規模だとバージョン管理する意味はあんまないんだけど、まあ気分だ気分。

というわけでTortoiseGitを使って、とりあえずサイト丸ごとと今作ってる整形ツールのソースコードを管理。高速だし、なかなか悪くない。日本語入力できないのは日本語化すればなんとかなるのかもしれんが、最新版は対応していないっぽく、最新版使いたいので無理して英語でコメント書いております。カタコトかつ文法むちゃくちゃだけどな。
作業が一区切りする毎にコミットして、たまにバックアップがとりたくなったら「My Dropbox」に作成した中央リポジトリにpushしてやれば勝手に同期をとってくれて今日も飯が旨いと、そんな感じなわけですよ。

Gitの欠点としてWindows用クライアントが弱い、みたいな情報をちらほら見かけたけど、とりあえず普通に使うぶんには結構よさげなんだぜ『TortoiseGit』。まあバージョン管理が初めてな上に日本語化できないのでまだ八割方ちんぷんかんぷんですけど。特に中央リポジトリの作り方がわからなくて仕方なくコマンドラインから「git --bare init」叩いた。別に手間じゃないからいいんだけどな。

まだまだちゃんと運用できるかどうかは未知だけど、わりとよさげな予感がしております。

・参考URL
Dropbox
TotoiseGit
msysgit
実用レベルに達したWindows向けGitクライアント「TortoiseGit」でGitを始めよう

インストールと使い方に関しては、一番下が大変参考になった。あと、問題は執筆中のテキストファイルをデスクトップに置く俺の癖をどうするか、だ……。デスクトップのバージョン管理はなー。ちょっとキモいよなー……。

0 コメント:

コメントを投稿