はじめに
Gitはソースコードのバージョン管理のため、使われていっており、Gitを楽に使用するためのツールや拡張機能もたくさんあります。
しかし、Gitのワークフローをきちんと理解していないまま、Gitやツールを使っていることではないかと思いました。
そのため、Gitの基本的なワークフローについて、簡単に整理してみたいと思います。
Gitの各領域
Gitは3つの領域で区分できます。
(ローカルリポジトリ
とリモートリポジトリ
を別領域にすると4つで区分)
-
作業ディレクトリ (Working Directory、Working Tree)
実際にファイルを修正する作業領域 -
ステージング領域 (Staging Area、Index)
コミットする前に変更内容を管理・一時的に保持する領域 -
リポジトリ (Repository)
ファイルの変更履歴が格納される領域
ローカルリポジトリ(Local Repository)
とリモートリポジトリ(Remote Repository)
がある
ただ、今回は以下のように5つに領域を細分化してワークフローを整理して見ます。
- 作業ディレクトリ (Working Directory)
- ステージング領域 (Staging Area)
-
ローカルブランチ (Local Branch) :
Local Repository
に含まれるブランチ -
リモート追跡ブランチ (Remote-Tracking Branch) :
Local Repository
に含まれるブランチ -
リモートブランチ (Remote Branch) :
Remote Repository
に含まれるブランチ
Gitの基本的なワークフロー
-
git add
作業ディレクトリ
の変更内容をステージング領域
に追加 -
git commit
ステージング領域
の変更内容をローカルブランチ
に追加 -
git push
ローカルブランチ
の内容をリモート追跡ブランチ
とリモートブランチ
に反映 -
git fetch
リモートブランチ
の内容をリモート追跡ブランチ
に反映 -
git merge
リモート追跡ブランチ
の内容をローカルブランチ
に統合 (作業ディレクトリ
にも反映される) -
git pull
git fetch
とgit merge
をまとめて行う
おわりに
実際に作業するときには、もっと複雑なワークフローで、より多くのGitの機能を使用しますが、今回は簡単に基本的なワークフローだけを整理して見ました。