バージョン管理におけるリポジトリの管理方法の分類の1つで、各作業者がそれぞれのリポジトリを保有する方法です。
分散型のバージョン管理システムとして、Git、Mercurial などがあります。
分散型バージョン管理では、大本になる1つのリポジトリ(リモートリポジトリなどと呼ばれる)があり、各作業者はこれを複製(クローン)したリポジトリ(ローカルリポジトリなどと呼ばれる)を手元(自分の PC)に置きます。
普段の作業ではローカルリポジトリに変更内容を記録(コミットなどと呼ばれる)していきます。ローカルリポジトリは自分だけしか使わないものなので、何に邪魔されることなく自由に作業を進めていけます。作業に区切りがついたら、そこまでの変更をまとめてリモートリポジトリへ記録します(プッシュなどと呼ばれる)。
ほかの作業者もまた同じ方法で作業を進めています。そのため、リモートリポジトリにはほかの作業者の変更履歴が追加されているかもしれません。リモートリポジトリから手元のリポジトリに変更を取り込む操作(プルなどと呼ばれる)をおこなわなければなりません。
プッシュやプルのように、リモートリポジトリが絡むときには、自分の変更内容と、ほかの作業者の変更内容とが衝突する可能性があります。そうした場合には、両者の変更内容を確認しながら、適切に調整しなければなりません(どちらかの変更だけを活かすとか、互いの変更を問題ないようにまとめるとか)。このような作業をマージと呼びます。
分散型バージョン管理に対して、作業者全員が1つのリポジトリを運用する方法を、集中型バージョン管理と呼びます。近年の傾向として、分散型バージョン管理の方が主流になっています。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |