Gitの各領域(working directory,staging area,repo)とコマンドの関係図

Gitの各領域とコマンドの関係図を掲載します。

Gitの領域について

作業ディレクトリ(working directory)

実際にコードを修正する作業領域。ローカルのディレクトリを開いて見えるコードやファイルはこの作業ディレクトリです。git addコマンドでステージング領域へファイルを登録します。

ステージング領域(staging area/index)

Gitには「ステージング領域」または「インデックス」と呼ばれるものがあります。これは、コミットを完了する前にコミットをフォーマットして確認できる中間領域です。git commitコマンドでローカルリポジトリへステージング領域にあるファイルを一括登録します。

ローカルリポジトリ(local repository)

ローカルのGitリポジトリです。コミットごとの変更した差分が保存されます。git pushコマンドでリモートリポジトリへコミット内容を送信します。

リモートリポジトリ(remote repository)

ローカルリポジトリの変更点を保持します。一般的には、GitHub、GitLab、BitbucketといったGitのホスティングサービス上に構築され、複数の開発者がリモートリポジトリをコピー(clone)元として、ローカルリポジトリを構築します。