リポジトリ
ソフトウェアバージョン管理のデータ記憶域
From Wikipedia, the free encyclopedia
リポジトリ(英: repository[1])またはレポジトリは、バージョン管理システムにおいて、ソースコードやディレクトリ構造のメタデータを格納するデータ構造のこと。リポジトリを記録することで、プロジェクトの全履歴を保存し、安全な変更・復元とチームでの円滑な共同作業を実現する。
概要
「リポジトリ」の原義は「貯蔵庫」、「保管場所」である(wikt:repository)。バージョン管理システムではソースコード等の管理対象を溜めておく場所をリポジトリと呼ぶ。すべてのユーザーのシステムに重複したリポジトリを持つ分散型 (GitやMercurial) と、単一のサーバーでリポジトリが管理される集中型 (Subversion、CVSなど) が存在する[2]。あらゆる第三者に開かれているリポジトリをパブリックリポジトリ(英: public repository)といい、権利者のみが利用できるものをプライベートリポジトリ(英: private repository)という。
リポジトリには以下のメタデータが含まれる。
- コミットオブジェクト - コミットをするたびに、新しいコミットオブジェクトが生成される。これらが積み重なることで、プロジェクトの全歴史が構成される。
- ヘッド - 現在作業中のコミットオブジェクトがどのブランチにいるかという参照情報と、各ブランチの最新コミットはどれかという識別子が保存される。
- 変更履歴 - リポジトリ内の変更履歴がログファイルで保存される。コミットオブジェクトの変更履歴だけではなく、どのブランチを切り替えたかといった行動ログも保存の対象となる。
用途
利用
特にパブリックリポジトリはテキストマイニング等の解析の対象として利用される。主にソースコード作成支援やバグへの対処などに用いられる。
第三者からアクセス可能なリポジトリへ対象を配置することで、リポジトリを配布のための拠点として利用できる。例えばパブリックGitレポジトリは誰でもcloneすることで入手できる。