Git
リーナス・トーバルズが作った分散型のバージョン管理ソフト。誰がいつ何を変えたかを記録し、大勢での共同開発を支える。GitHubなどとともに、現代のソフト開発に欠かせない道具になった。
名前の由来
Git公式リポジトリのREADMEには、リーナス・トーバルズが最初のバージョンにこの名前をつけた理由として、4通りの解釈が冗談めかして列挙されている——「発音可能な3文字の組み合わせで、どのUNIXコマンドにも実際には使われていない」「愚か。軽蔑すべきで卑劣。単純」「『グローバル・インフォメーション・トラッカー』:機嫌が良く、実際にうまく動いているとき」「『どうしようもなく馬鹿げたクソの山』:壊れたとき」。つまり「git」という名前自体には固定した意味はなく、使う人の気分と状況次第で解釈が変わる、というジョークになっている。
時代背景
本人がGitHub Blogのインタビューで語ったところによれば、2005年、Linuxカーネル開発チームが使っていた商用バージョン管理システム「BitKeeper」のライセンスが打ち切られる事態が起きた。開発者アンドリュー・トリッジェルがBitKeeperのプロトコルと通信するツールを作ったことが問題視されたためだった。本人は「自分に合うものを作ろう、他の人がどう思うかは気にしない、と思った」と振り返っている。
概要
リーナス・トーバルズが2005年に開発した分散型バージョン管理システム。中央のサーバーに依存せず、各開発者の手元に全履歴のコピーを持てる点が、それ以前の集中型バージョン管理システムとの大きな違いだった。ファイルの変更履歴を「誰が」「いつ」「何を」変えたかまで記録し、ブランチの分岐・統合が高速に行えることから、Linuxカーネルのような大規模な分散開発を支える基盤として設計された。
小話
本人によれば、開発は最初の1週間で基本機能を完成させ、次の1週間でマージ機能を追加し、約10日間でLinuxカーネル開発に使える状態になったという。当初のコード量は約1万行だった。開発からわずか3〜4か月後、本人はGitのメンテナンスをジュニオ・ハマノに引き継いだ。その理由を「この人が3か月働くのを見てきて、もう自分がこのプロジェクトをメンテナンスしたいとは思わない」という、相手の判断力への信頼だったと語っている。
| 作者 | Linus Torvalds |
|---|---|
| 種類 | バージョン管理 |
関連項目
- リーナス・トーバルズ学生時代にLinuxカーネルを作り公開したプログラマ。世界中の開発者が協力して育てるオープンソース開発のあり方を体現し、バージョン管理システムGitの作者でもある。
- Linuxリーナス・トーバルズが学生時代に公開したUNIX系のOSカーネル。世界中の開発者が協力して育てるオープンソースの代表例となり、サーバーやスマートフォン(Android)など、いまや見えない所で世界を支えている。
- GitHubGitを使ったソースコードの共有・共同開発を支えるサービス。世界中の開発者がオープンソースを持ち寄る場となり、コードを公開して協力する文化を決定づけた。現代の開発に欠かせない基盤。
- Dockerアプリとその動作環境をひとまとめに箱詰めして、どこでも同じように動かせるようにするソフト(コンテナ技術)。環境の違いに悩まされる問題を和らげ、クラウド時代の開発・運用を大きく変えた。