きっかけ

この本はGitの実践的な使い方を解説する本です。

プログラマとして働き出して10年、多くのプログラマたちと一緒に働いてきましたが、 効率よくGitを使えてない人がたくさんいるという事実に気づきました。 それは、送られてくるプルリクエストを見るとわかります。 おそらく、自分でいくつか基本的なコマンドだけ覚えて、その範囲内だけで済ませてしまっているのでしょう。 チーム内での世界観の統一もできていないと思います。

さらに、今年の夏にインターンの学生たちの対応をしたところ、 彼らはコードのことはよく理解しているものの、 Gitのことを全く分かってないということがはっきりしました。 学生なので、そういう機会に恵まれないのは仕方ないことですが、 彼らを戦力にするにはGitの使い方をきちんと教えなければなりません。

この2つの事例をみるに、必要なのは新卒研修レベルでのGitの研修であり、 そのためのテキストであり、Gitの使い方のフレームワークです。

アンケートを取ってみても、 Gitが簡単と答えた人は一人もいませんでした。 実際、Gitは概念が複雑で、コマンドも多く、一見難しそうに思えるでしょう。 しかし、本当に必要なコマンドは本当にごくわずかで、難しさは運用で回避できます。

プログラミングの世界では、Ruby on Railsのようなフレームワークとよばれるソフトウェアがあります。 フレームワークは、アプリケーションに必要な多くの処理を共通化し、プログラミングに一定の制約を与えます。 とくにRailsは、CoC (Convention over Configuration: 設定より規約)という思想により、強い制約を課すことで面倒な設定や無駄な思考を極力排除しています。 このことで、プログラマは実現したい機能の本質的な部分に集中することができ、 経営者目線では開発効率や教育効率を圧倒的に高めることができます。

これをGitの世界にも持ち込み、本質的な開発に集中でき教育効率も高いGitのフレームワークを作ろう、というのが本書の目標です。 フレームワークを作るからには、思想や戦略が重要になります。 まず思想は、Gitリポジトリはどうあるべきか、という世界観に帰結します。 そして戦略は、その世界観を実現するために、どのような操作をするか、という選択を決めます。

Last updated