【git】【初級者脱却】Gitリポジトリの基本
Gitの基本構成:リモートリポジトリ・ローカルリポジトリ・ステージ・ワークディレクトリ
Gitを使用する上で、なんとなく使えてはいるけど、リポジトリってなに?分散型管理ってなに?ってちゃんとわかってない人、多いんじゃないでしょうか。
Gitをなんとなく使えてる⇒理解して使えてる、にステップアップするため、Gitの基本的な考え方から説明します。
分散型管理とは?
Gitは代表的な分散型管理システムです。
これに対して、Subversion(SVN)に代表されるバージョン管理システムのことは、中央集中型管理システムと呼ばれます。
分散型管理とは、複数の場所にリポジトリが存在し、それぞれが独立して管理できる仕組みのことです。
リモートリポジトリ(チームで共有する場所)とローカルリポジトリ(自分のパソコン内にある場所)があり、両者は独立して存在します
リポジトリとローカル
1. リモートリポジトリ
-
場所
チーム内で共有するリポジトリです。
チームメンバーが参照できる場所(一般的にはインターネット上)にあります。 -
役割・使い方
他の人とコードを共有する場所。
自分の変更をリモートリポジトリへ「push」したり、他の人の変更をリモートリポジトリから「pull」して取り込んだりします。
2. ローカルリポジトリ
-
場所
自分の使用するPC内にあるリポジトリです。 -
役割・使い方
自分専用の履歴を管理する場所。
ローカルリポジトリへ「コミット」をして、履歴を記録します。
自分のPC内にあるので、ネット環境がなくても履歴の確認や編集ができます。
git fetchすることで、リモートリポジトリの最新情報を取得できます。
3. ステージ(インデックス)
-
場所
コミットする前にどのファイルをコミットして履歴に残すかを一時的に登録する場所です。
ローカルリポジトリの一部。 -
役割・使い方
ローカルで作成・変更したファイルの中からコミットしたいファイルをと選んで配置します。
「git add ファイル名」でステージに追加します。
4. ワークディレクトリ
-
場所
自分のPCで、コードエディタ等で開いて作業をしている場所です。 -
役割・使い方
ファイルを作成、編集、削除等する。
ここはあくまでローカルであり、リポジトリではないので、編集履歴は残りません。
それぞれの関係図と操作

関連記事
【git】git feature flowのすゝめ
【git】git feature flowで使う一連のgitコマンド
Discussion