Git の使い方が一通り理解できる良書。
Gitは分散開発支援の性格上理解しずらいところがあるのだが、この本では「Chapter4 独りで使う」「Chapter5 2か所で使う」「Chapter6 グループで使う」と最小構成から分散環境での使い方まで段階を踏んで解説を進めているので理解しやすい。
「インデックス」という概念があるのをこの本で知った(恥ずかしながら)。Subversion と違いリポジトリへコミットするまでに状態が1段階多い。
Gitの場合:
ワークツリー ↓ add インデックス ↓ commit リポジトリ
Subversionの場合:
ワークエリア ↓ commit リポジトリ
両者で add の意味がてっきり同じだと思い込んでいたのだが、両者で異なるというのがこの本を読んでわかった。インデックスを入れたことによりリポジトリに入るまでのステップが増えたが、実際の開発では変更点を全部揃えてからコミットする Subversion よりも、こまめにコミット候補をインデックスへ貯めて置いて最後に一気にコミットする方が使い易い気がする。このインデックスの概念が理解できてようやく Git の動作イメージが頭で描けるようになった。この本はそういったイメージを描くのに役立つ図も多い。
Gitではさらに別の場所のリポジトリと同期ができる。
こんなイメージ?
ワークツリー ↓ add インデックス ↓ commit リポジトリ(ローカル) ↓ push リポジトリ(別の場所)
(関連)Cocoaの日々: github を使う