秀和システム木津様より献本御礼。
感動した。
本書は、ただのソフトウェア入門でも、ましてや取扱説明書でもない。
共同開発そのものの入門であり、一緒にソフトウェアを開発するというのが一体なんなのかを指南した書である。
自分以外の人に、自分が書いたソフトウェアを使ってもらうという人は必ず目を通しておくべき一冊である。
本書「入門Git」は、バージョン管理システムgitのメンテナーである著者が、gitを通してソフトウェア--動作するコードに限らず、固定ページしか含まないウェブサイトまで含めて--を開発するというのは一体どういうことなのかを書き下ろした一冊。
そう。著者にとってのgitは、 Linus Torvalds にとっての Linux なのだ。創始者は確かに Torvalds であるが、今gitをメンテしているのは著者。著者はいわばgitの母である。
目次 - 入門Git|書籍情報|秀和システムより- Gitの創始者 Linus Torvalds氏によるはしがき
- 著者と記録者の関係は?
- インデックスの何が嬉しいの?
- msysGitでのヒント
- ログ検索には修飾語が付きません
- ブランチ名はどう付ける?
- ブランチを理解するコツ
- トピックへの統合ブランチの併合
- どうしてファイル名変更検知は-Mなの
- 優秀なプログラマ程非力なマシンで良い?
- "Linus does not scale"
- マージはパッチになるの?
- 原作者の証明書
- どうして-p1
- Thunderbirdのバグ回避
- じゃあhello.c~はどう始末する?
- 上流からのバグ修正は?
- マージベースが2つ以上ある歴史もある
- pre-commitフックを回避する
- 機械に読ませるためのバイナリパッチ
- Chapter 1 gitとは
- Chapter 2 gitの基本概念
- Chapter 3 インストールと初期構成
- Chapter 4 独りで使う
- Chapter 5 2か所で使う
- Chapter 6 グループで使う
- Chapter 7 ブランチを使った開発
- Chapter 8 分散環境とブランチとの関連
- Chapter 9 変更履歴を追いかける
- Chapter 10 パッチべースのワークフロー
- Chapter 11 ゴミファイルの無視
- Chapter 12 構成変数
- Chapter 13 リモートリポジトリ定義
- Chapter 14 ファイルアトリビュート
- Chapter 15 歴史の2分探索
- Chapter 16 間違いからの回復
- Chapter 17 フックメカニズム
- Chapter 18 リポジトリの出版公開
- Chapter 19 gitの周辺
そういう人が書いた本なのだから、それだけで面白くないはずがない。しかし本書の面白さは、「バイブル」であることを超えているところにある。モーゼが受け取った十誡には、その理由は一切書いていないが、本書はまず理由があって、それをどう解決して行くのかということを通して git を、そして他者と一緒に自分でソフトウェアを育てて行くことを学ぶ。
恥ずかしながら、本書を読んでやっと Torvalds の心中を察することができた。
なぜ CVS や Subversion では満足できなかったのか。
なぜ git はああなっているのか。
それを本人以上にきちんと理解し、本人の期待以上のものに育てた著者は、gitの育ての親として Torvalds も賞賛を惜しまない。
はしがき読者が手にしている本書の著者Junioが、この2つの問題を解決してくれた。Junioはgitの開始時から興味を持ってプロジェクトに惨禍してくれた連中の1人であったことはもちろんだが、当初から、ボクが「良い趣味(テイスト)」と読んでいる、稀な資質を発揮していた。問題の解法を見て、一目でその解が技術的に正しいかどうかを本能的に見抜く能力である。
その資質は本書でもいかんなく発揮されているということは、私も太鼓判を押させていただく。
その上ありがたいことに、本書ははじめから日本語で著されている。そう。著者は日本人なのだ。このことをご存じなかった git user も意外と多いのではないか。
はしがきAnd he writes in your language :)
世界で今もっともホットなバージョン管理システム--いや、それ以上のなにか--の「原著」を、「原語」で学べる日本人は幸せである。これで2,500円しないのだ。日本は技術書天国である。
そしてそれを技術者天国にできるかどうかは、われわれにかかっている。本書が、そのための道標であることは疑いようがない。
Dan the Version Controller
何となく読んでみたくなるから不思議。