リポジトリ
リポジトリの主な目的は、一連のファイルと、それらのファイルに加えられた変更の履歴を保存することである。 バージョン管理システムが変更の保存を処理する方法は、各々のシステムに依存しており正確には異なる。たとえば、Subversionは昔は変更履歴をデータベースインスタンスに保存していたが、ファイルシステムに直接保存するようになった。 これらの方法論の違いは、さまざまなグループによるニーズの違いに応じた多様な使い方に繋がった。
「リポジトリ」の原義は「貯蔵庫」、「保管場所」である(wikt:repository)。バージョン管理システムではソースコード等の管理対象を溜めておく場所をリポジトリと呼ぶ。すべてのユーザーのシステムに重複したリポジトリを持つ分散型 (GitやMercurial) と、単一のサーバーでリポジトリが管理される集中型 (Subversion、CVSなど) が存在する。あらゆる第三者に開かれているリポジトリをパブリックリポジトリ(英: public repository)といい、権利者のみが利用できるものをプライベートリポジトリ(英: private repository)という。
リポジトリには以下のメタデータが含まれる。
リポジトリ内の変更履歴。
コミットオブジェクト一式。
ヘッドと呼ばれる、コミットオブジェクトへの参照のセット。