こんにちは。最近gitづいているかっぱおじさん(飯王)です。

さて、今回は@matsukazさんから献本いただいた「開発効率をUPする Git逆引き入門」のご紹介。先日「にゃんっ!」( #git_nyan )で登壇したきっかけでご連絡いただいて、書評させていただく運びとなった。

Git逆引き入門

learn git or die

私は2011年にgitについて小一時間しゃべってるのだけど、世間はやっとgit / githubによる開発フローが当たり前になってきたらしい。それはつまり、git / githubについて「使えることが強み」な時代から、「使えないことが弱み」になってきた、ということだ。

ソフトウェア開発の現場では、使えて当然と思われるgit。すばらしいツールではあるんだけど、同時に「たかがツール」。ソフトウェアエンジニアのみなさんには、さくっと使いこなして、効率よい問題解決に注力してほしい。そのための高速道路として、本書「開発効率をUPする Git逆引き入門」はとてもよいガイドだ。

「ググれカス」より確かな資料

本書は「逆引き」「入門」のタイトルどおり、初心者が困ったときやりたいことベースで解決法を探すことに特化した本だ。

gitを使いはじめると、「あれ、addを取り消すのどうやるんだっけ」「このtagいらないんだけどどうやって消すんだ?」みたいな小さい困りごとは、わりとしょっちゅう発生する。

そういうとき、たいてい頼るのはgoogle検索。「ググれカス」の教えどおり、検索ボックスに「git add 取り消す」なんて検索をするわけだ。

検索して解決方法を探し、苦労しながら問題を解決する。それはそれで学びのプロセスとしてはいいんだけど、初心者にとってはなかなかコストが高い。有益な情報かどうかを判断するのも大変だし、そもそも「ググる」ためのキーワードを適切に選べるかどうかも難しい。


そこで本書の出番ですよ。

本の実物より先に、まず目次を見せていただいた。そこに並んでいたのは、どれもこれもgit初学のときに山ほどググったことばかり。

  • 特定のファイルを指定した変更履歴の状態に戻したい
  • リモートリポジトリ上のタグを削除したい
  • ファイルの行単位の変更履歴を確認したい

…身に覚えはないですか?

ざっと探した感じ目次はweb上に見つからなかったんだけど、これ公開した方がいいと思います(私感)。

本書の「使い方」

「初心者向け」だけあって、内容は平易かつ説明は丁寧で大変読みやすい。しかし、「逆引き」の名の通り、先頭から黙々と全部読むだけでは、いざという時適切に対処法を思い出すのが大変そうだ。

そこで、初心者にも中〜上級者にも役立ちそうな読み方を提案してみたい。

  • 目次を眺める
    • この本が助けてくれそうなことについて、脳内にindexを作る。
  • ざっと読む
    • 流し読みでok。
    • 経験者は知らないコマンドやオプションがないか、知識の棚卸しをしよう。
    • 初心者はまず第1章だけは読み込んで、gitでよく出てくるキーワードを覚えよう。
  • gitを使う
    • しばらく使ってると、だいたい「あれ、こんなときどうするんだっけ」と困ることが出てくる。
    • そんなとき本書を思い出す。目次を眺めて近そうな項目を探す。
    • gitで困ったら、まずググる前に本書。
    • 本書で解決しなければ、だいぶ複雑なことをやろうとしている。脱初心者を目指し、別の本を読むべき。

中〜上級者のみなさんは、初心者や若手にgitを教える、というミッションを課せられるケースも増えてくると思う。そんなとき、本書をうまく活用すれば「知の高速道路」に乗れるだろう。

高速道路トリオ

TokyurRubyKaigi 07で喋ったとおり、git / githubにはよい入門書が3冊出そろった。


まずgitに触れるなら、本書「Git逆引き入門」がおすすめ。昔は茨の道だったWindowsでの環境構築もきちんと説明してあるし、最低限使い始めるためのガイドは書かれている。

github(enterprise含む)で開発フローを回すのであれば、あわせて読みたい「GitHub実践入門」。githubのすごさや便利さを実感するために大事なことが、丁寧にガイドされている。

そして入門書のラスボスが「Gitによるバージョン管理」。gitを使ってきちんと仕事をするために大事な情報が、平易ながらもしっかりと書かれている。

昔は英語に苦労したり日本語の周回遅れ情報に翻弄されていたのに、いまやこんなにしっかり書かれた日本語の入門書がたくさんある。いい時代になったもんだな・・・(おっさん的感想)。

まとめ

書評としては風呂敷を広げすぎてしまった感があるけど、そのぐらい「gitを使うための環境」というのは整ってきつつある。それも本書や推薦図書の著者陣を筆頭とした、先人の苦労の賜物なのだ。

若いエンジニアのみなさんは、うまく高速道路にのっかって「たかがツール」の使い方を短時間で習得し、早く現実の問題解決に注力してほしい。中堅〜ベテランエンジニアのみなさんは、若手が高速道路に乗る手助けをしてあげてほしい。