20章効果的なバージョンコントロール
すべては変化し、消え去るものはない。
――プーブリウス・オウィディウス・ナーソー
開発者にとってバージョンコントロールは、食事したり呼吸したりするようなものです。コードを書くエディタやコンパイラと同じです。それは日々の開発の基本的な部分です。
バージョンコントロールは、ファイルの集まりをリビジョンとして管理するプロセスです。管理されるファイルは、一般にソフトウェアシステムに対するソースファイルです(したがって、ソースコントロールとも呼ばれます)。それだけではなく、ファイルシステムに保存するドキュメント類や他のものすべてのリビジョンを管理します。
これは十分に単純な機構です。しかし、優れたバージョンコントロールシステムは、うまく使われると多くの恩恵をもたらします。
- 開発者達の共同作業を助け、その中心となるハブを提供します。
- 成果の状態を定義して公開します。つまり、バージョンコントロールシステムに保存されない限り、コードはインテグレーションされません。他のツールは、コードの更新に連動します。たとえば、継続的インテグレーション、リリース作業、そしてコードレビューのシステムです。
- 個々の特定のリリースに入っている正確な内容をアーカイブして、プロジェクトに関する作業の履歴を維持します。コードのタイムマシンです。
特定の機能を実現した変更を知るためにファイル内の変更を調査するという、ソフトウェア考古学を可能にしています。個々のファイルを誰がどのような理由で変更したかを記録しています。
- 成果物の重要なバックアップを提供します。
- 開発者にセーフティネットを提供します。実験したり、変更を試したり、そして、動作しなかった場合に変更を戻したりできます。 ...
Get ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.