Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス
by Titus Winters, Tom Manshreck, Hyrum Wright, 竹辺 靖昭, 久富木 隆一
16章バージョンコントロールとブランチ管理
Titus Winters 著
Lisa Carey 編
おそらく、バージョンコントロールほど、業界全体でどこでも例外なく採用されているソフトウェアエンジニアリング用ツールは他にない。規模が数人以上のソフトウェア組織で、組織のソースコードを管理してエンジニア間での活動を協調させるために正式なバージョンコントロールシステム(Version Control System/VCS)に頼らない組織は、ほとんど想像できない。
本章では、何故バージョンコントロールの利用がソフトウェアエンジニアリングにおいてこのように疑う余地のない標準となったのかについて考察していく。またバージョンコントロールとブランチ管理に対する各種の考えられるアプローチを、我々がバージョンコントロールをどのようにしてGoogle全社中にスケールする状態で実行しているかという点と合わせて解説する。また、各種アプローチの長所と短所も考察していくことになるだろう。バージョンコントロールは皆が利用すべきであると我々は信じているが、バージョンコントロールのポリシーとプロセスの中で、読者の組織にとって(あるいは全般的に)他のポリシーとプロセスよりうまく機能するものがあるかもしれない。とりわけ、DevOps†1により広められた「トランクベース開発」(リポジトリー1個、開発ブランチなし)が、バージョンコントロールのポリシーへのアプローチの中でも特にスケーラブルであることがわかっており、その理由についてのヒントがいくつか与えられることになるだろう。
†1 本章の初稿と発表との間にGoogleにより買収されたDevOps Research Associationは、年次の”State ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access