リポジトリとは
まずは、リポジトリとはどのようなものか見ていきましょう。
設計や開発に関する情報を一時的に保存する場所
リポジトリとは英語で「repository」であり、容器・冷蔵庫・倉庫といった意味の言葉です。
システム開発分野においては、「開発の仕様やシステム資源に関する情報を一元管理できる場所」という意味で使われます。リポジトリがあれば、さまざまな情報を一元管理して作業の効率化を図り、重複したデータを排除して整理することができます。
システムの設計や開発以外にも、プログラムファイルのバージョン管理で使われることが多いです。この場合、ユーザーは変更履歴をいつでも閲覧することが可能です。そのため、リポジトリを活用すると、誰が、何を、どのように行ったのか正確に把握できるでしょう。
システム開発やプロジェクト管理で使われる
リポジトリは、主にシステム開発やプロジェクト管理で使われることが多く、適切に情報を管理する役割を担っています。
システム開発においては、リポジトリがあることでソフトウェアのライフサイクル全体の情報を有効活用できます。基本的に、各工程のデータを保存して使うことが多いです。
例えば、どのように開発や修正を行ったのかが分かれば適切に開発を行いやすいでしょう。ほかにも、開発内容の重複解除を行ったり、過去に開発した機能のコードを再利用できたりします。
また、一般的なプロジェクト管理やバージョン管理では、このリポジトリの仕組みがメインで使われています。システムの全データを記録し、複数人で共有できることが多いです。
リポジトリの種類
リポジトリには大きく分けて「ローカルリポジトリ」と「リモートリポジトリ」の2種類があります。それぞれの種類にはどのような特徴があるのか見ていきましょう。
ローカルリポジトリ
ローカルリポジトリとは、自分のパソコン・マシン内に存在するリポジトリのことです。
自分のパソコンに、プロジェクトに必要なものをダウンロードした際に、それらを保管する場所です。管理できるバージョンやダウンロードしたデータなどの情報は、端末1台分となります。
バージョン管理ツールなどでは、このような各ユーザーのローカルリポジトリで管理する方法を「分散管理方式」と呼びます。
リモートリポジトリ
リモートリポジトリとは、ローカル環境ではなくネットワークで接続しているサーバなどにあるリポジトリのことです。専用のサーバ内に存在し、複数人で情報を閲覧・活用・共有できるのが特徴です。
一般的に、ローカルリポジトリを公開したい場合には、リモートリポジトリにアップロードします。基本的なリポジトリを使った作業はローカルで行いますが、その内容はリモートリポジトリに反映されます。
そのため、リモートリポジトリを作成した場合は、ローカルリポジトリと同期させなければなりません。
このようにリモートリポジトリを使った管理方法は「集中管理方式」と呼ばれます。
リポジトリ管理の方法
システム開発を行う際には、リポジトリは分散管理方式によって管理されることが多いです。各ユーザーのパソコン内にリポジトリがあるため、ネットワーク環境に接続していない状態でも作業を行えます。
開発を行う際には、各ソースファイルの情報をリポジトリに記録・保管します。ソースファイルに修正があれば、ローカル環境にデータをダウンロードして修正を加えてから、保存するという流れです。
また、一般的に開発で生まれた要件定義書や仕様書などの成果物などは、手動でリモートリポジトリにアップロードしなければなりません。
このような流れはバージョン管理ツールやプロジェクト管理ツールを使うことで、工程を自動化できます。情報共有やソースの再利用を行い、工程の大幅な短縮が実現します。
リポジトリを有効活用し、開発や管理を適切に行おう!
リポジトリは、本来「倉庫」「容器」という意味があります。
しかし、システム開発の現場では、各工程のあらゆるデータを一元管理できる場所を指します。リポジトリにはパソコンのローカル環境にある「ローカルリポジトリ」と、サーバなどネットワーク上にある「リモートリポジトリ」があります。
種類や役割を理解して有効活用すれば、システム開発やバージョン管理を適切に行えるでしょう。