Gitの仕組み
Gitは、ファイルの変更履歴を管理・追跡するためのバージョン管理システムです。
バージョン管理システムは、その他にCVSやSubversion(集中型バージョン管理システム)があります。
・集中型バージョン管理システム
ファイルの変更履歴はすべて単一のリモートリポジトリで管理。
ローカルでのファイル変更は可能だが、下記はリモートリポジトリへの接続が必須。
・commitでリモートリポジトリに変更履歴を反映
・updateでリモートリポジトリの変更履歴を取得
・過去の変更履歴を表示
・分散型バージョン管理システム(Git)
対して分散型のGitは、リポジトリを利用しているユーザごとにリモートリポジトリのような完全な複製がローカル環境に作ることが可能。
・commitでローカルリポジトリに変更履歴を反映
・checkoutでローカルリポジトリの変更履歴を取得
・fetch(pull)でローカルリポジトリにリモートリポジトリの変更履歴を取得
Gitは3つのデータ領域を利用して変更履歴を管理できる。
・作業ディレクトリ
ユーザが実際に作業しているディレクトリ
・ステージング・エリア
作業ディレクトリ上で行った変更のうち、変更履歴として次のコミットしたい対象を管理する領域。
・Gitディレクトリ
Gitのリポジトリのすべての変更履歴を保持している領域。