11章リモートリポジトリ
今までは、1個のローカルリポジトリのなかでの作業の進め方にほぼ終始してきた。ここからはいよいよ高く評価されているGitの分散機能を探り、共有リポジトリを介してほかの開発者たちと共同作業を進める方法に足を踏み入れることにしよう。
複数のリモートリポジトリの操作に進むと、Gitの語彙にも新しい用語がいくつか追加される。
クローン(clone)は、リポジトリのコピーのことである。クローンには、もとのリポジトリ(オリジナルリポジトリ)のオブジェクトがすべて含まれる。そのため、個々のクローンは自立し、独立したリポジトリであり、オリジナルと対等な本物の実体である。クローンがあるおかげで、個々の開発者は中央集権的な管理の支配下に置かれたり、ポーリング、ロックなどを駆使したりせずに、ローカルに作業を進められる。Gitが簡単にスケーリングでき、多数のばらばらな地域のコントリビューターの参加を実現しているのは、究極的にはクローンのおかげだ。
次のような条件のもとでは、別々のリポジトリを並立できることは本質的な意味で効果的だ。
- 開発者が自分の意志で仕事をしているとき
- プロジェクトが複数の独立した開発ルートを持ち、多岐にわたるものになると予想されるとき。今までの章で説明してきたブランチングとマージのメカニズムでも開発の分割には対処できるが、その結果複雑になりすぎ、メリットよりもデメリットの方が大きくなる場合がある。それよりも、開発ルートを分けておいた方が、適切なタイミングで別々のリポジトリをマージできて好都合だ。
リポジトリのクローン作成は、コード共有の第1歩にすぎない。2つのリポジトリの間に関連性を持たせてデータ交換のためのルートを確立することが必要だ。Gitは、リモート ...
Get 実用 Git 第3版 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.