Wikiwand AI

リポジトリ

ソフトウェアバージョン管理のデータ記憶域 From Wikipedia, the free encyclopedia

リポジトリ(英: repository[1])またはレポジトリは、バージョン管理システムにおいて、ソースコードやディレクトリ構造のメタデータを格納するデータ構造のこと。リポジトリを記録することで、プロジェクトの全履歴を保存し、安全な変更・復元とチームでの円滑な共同作業を実現する。

概要

「リポジトリ」の原義は「貯蔵庫」、「保管場所」である(wikt:repository)。バージョン管理システムではソースコード等の管理対象を溜めておく場所をリポジトリと呼ぶ。すべてのユーザーのシステムに重複したリポジトリを持つ分散型 (GitやMercurial) と、単一のサーバーでリポジトリが管理される集中型 (Subversion、CVSなど) が存在する[2]。あらゆる第三者に開かれているリポジトリをパブリックリポジトリ(英: public repository)といい、権利者のみが利用できるものをプライベートリポジトリ(英: private repository)という。

リポジトリには以下のメタデータが含まれる。

  • コミットオブジェクト - コミットをするたびに、新しいコミットオブジェクトが生成される。これらが積み重なることで、プロジェクトの全歴史が構成される。
  • ヘッド - 現在作業中のコミットオブジェクトがどのブランチにいるかという参照情報と、各ブランチの最新コミットはどれかという識別子が保存される。
  • 変更履歴 - リポジトリ内の変更履歴がログファイルで保存される。コミットオブジェクトの変更履歴だけではなく、どのブランチを切り替えたかといった行動ログも保存の対象となる。

用途

リポジトリの主な目的は、一連のファイルと、それらのファイルに加えられた変更の履歴を保存することである[3]。 バージョン管理システムが変更の保存を処理する方法は、各々のシステムに依存しており正確には異なる。たとえば、Subversionは昔は変更履歴をデータベースインスタンスに保存していたが、ファイルシステムに直接保存するようになった[4]。 これらの方法論の違いは、さまざまなグループによるニーズの違いに応じた多様な使い方に繋がった[5]。

利用

特にパブリックリポジトリはテキストマイニング等の解析の対象として利用される。主にソースコード作成支援やバグへの対処などに用いられる。

第三者からアクセス可能なリポジトリへ対象を配置することで、リポジトリを配布のための拠点として利用できる。例えばパブリックGitレポジトリは誰でもcloneすることで入手できる。

脚注

関連項目

Related Articles

Timelines

Top Qs

Fact Checks