リポジトリ(Repository)とは、Gitにおいて、ソースコードの内容とその変更履歴をまとめて保管しておく場所のことです。「repository(貯蔵庫)」という英単語のとおり、プログラムのファイルだけでなく、いつ・誰が・どこを変更したかという履歴も、まとめて保存されています。
現実世界に例えると、リポジトリはこれまでの下書きをすべて保存してある、タイムカプセル付きの保管庫のようなものです。最新版だけでなく、過去のどの時点にも自由に戻れる記録が、丸ごと保管されています。
リポジトリ図解
ローカルリポジトリとリモートリポジトリ
| 種類 | 内容 |
|---|---|
| ローカルリポジトリ | 自分のパソコン上に保存されているリポジトリ |
| リモートリポジトリ | サーバー上に置かれ、複数人で共有されるリポジトリ |
clone・push・pullとの関係
リモートリポジトリの内容を自分のパソコンに複製する操作を「clone(クローン)」、ローカルでの変更をリモートへ反映する操作を「push(プッシュ)」、リモートの最新内容を取り込む操作を「pull(プル)」と呼びます。これらの操作を通じて、複数人が同じリポジトリを共有しながら開発を進められます。
GitHubなどのサービスとの違い
「GitHub」や「GitLab」は、リモートリポジトリをインターネット上で保管・公開できるようにした、ホスティングサービスです。Gitそのものはリポジトリを管理する仕組みであり、GitHubはそのリポジトリを預かる場所のひとつという位置づけになります。
ブランチとリポジトリの関係
1つのリポジトリの中には、「ブランチ」と呼ばれる、開発を枝分かれさせて進めるための仕組みを複数作ることができます。機能ごとにブランチを分けて作業を進め、完成した内容を後から本流に合流させることで、複数の作業を安全に並行して進められます。
リポジトリの公開範囲
リポジトリには、誰でも閲覧できる「パブリックリポジトリ」と、限られたメンバーだけが閲覧できる「プライベートリポジトリ」があります。オープンソースのプロジェクトでは前者が、企業の内部開発では後者が使われることが一般的です。
リポジトリのバックアップとしての役割
リモートリポジトリを活用することで、自分のパソコンが故障した場合でも、開発してきたコードの履歴を失わずに済むというメリットもあります。ローカルとリモートの両方にデータが分散して保存されることが、実質的なバックアップとしても機能しています。
リポジトリ内の主なファイル
リポジトリの中には、ソースコード本体のほかに、プロジェクトの説明を記した「README」ファイルや、Gitの管理対象から除外するファイルを指定する「.gitignore」といった、開発を進めるうえで役立つ補助的なファイルもあわせて置かれることが一般的です。



コメント