2008年6月23日月曜日

Gitを使ってみよう

Rails界隈がgit対応してきたので、どんなもんかインストールして使ってみた。

Git周辺状況

色々調べてみたら、結構rails界隈はgit対応が進んでいるみたい。

  • MacOSXならMacPortsでGitをインストールできるよ
  • railsの-gオプション(2.1.0で確認)
  • RubyForgeのGitリポジトリ提供
  • newgemにもGit関連の記述がっ!!

そもそも、Gitを使うと何が嬉しいのか、個人レベルでまとめてみる。

  • ネットワークの無いところでコミットできる。「これ試しに作ってみたいけど、ハマると痛いんだよなぁ」と思って躊躇している時なんかに最高。
  • git initで簡単に使えるようになるので、元々バージョン管理なんかするつもりが無かったアプリへの導入障壁が低い。subversionならサーバ側でリポジトリ作らないといけないし、簡単だけどちょっと躊躇するよね。面倒だからいっかーみたいな。(結構コレ大きい)
  • コミットさくさく。
  • ローカルでの作業はGitを使ってこまめにコミットし、要所要所でgit svnを使ってsubversionにコミットをするようにするのが、現状では理想なのかも。特にローカルで動作検証できないシステムで、修正するたびにサーバにデプロイする必要がある環境では、subversionのリビジョンが無駄に多くなりがちだけど、gitを使えばキレイに収まるのかもね。

逆にsubversionと比べて悪いところは、

  • 構造的に複雑になるので、わかりづらい。プログラマなら覚えようと思えば理解できるけど、デザイナに理解させるのは無理無理。あきらめよう。
  • 現状、windowsネイティブのクライアントが無い。これは痛い。
  • 便利で泣けるほどのGUIが無い。やっぱりGUIが無いと、履歴追っかけるときとか、デザイナに奨めたりするときに痛い。
  • てかGUIなフロントエンドが無いと、リポジトリがあちこちにできたときに、gitの複雑(になる可能性を秘めている)リビジョンを追っかけるのなんて、プログラマでも無理無理。求む超絶便利フロントエンド。
  • ブランチはsubversionのように「特定ディレクトリだけ」としてではなく、全体として切り替わる。これは良くも、悪くもあるかな。
  • 現状、rails界隈しか使えない。まだ一般的とは言えない。
  • NetBeansIDEでGitサポートしてくれないかなぁ。

まぁ、ノートを開発の基本としている人にとって、gitは結構便利なものだと思う。

自分用はgitで、みんな用はsvnという使い分けで。

ベストプラクティス

で、subversionは使えるけど、gitは使った事が無いという人は、以下の流れで覚えるといいよ。

1.動作原理の把握

こちらのサイトが詳しい。

Git/分散レポジトリって何が嬉しいの

2.チュートリアルで流れを把握

一個目のチュートリアルは流しでも読んでおくと、理解が早いと思う。

Git入門

3.SubversionとGitのコマンド比較

日本語なら

Git/Subversionコマンド対応表

もうちょっと詳しいけど英語のやつは

Git - SVN Crash Course

4.大体わかったらマニュアルを読もう

Git ユーザマニュアル (バージョン 1.5.3 以降用)

5.あとはRubyに特化した便利ツールとかまとめとか

Git and Ruby: Git tutorials, articles and links for Rubyists

s21g :: Hello, world!さんのgit検索結果

6.理解できたら実際に使ってみて、リポジトリを公開しよう

まぁ、GitHubが王道だけどね。フリーで容量制限緩くてプライベートリポジトリを持てるところはないのかなぁ。自宅サーバとかに持つしか無いかな。

あ、GitHubのリポジトリブラウザは、現在最強です。

GitHub

Gitorious

repo.or.cz

0 件のコメント: