ブランチとタグ
Gitにおけるブランチ
初期状態のGitリポジトリでは「master」という名前のブランチが用意されます。
Gitの場合、タグと同様にブランチも、ある時点の変更履歴の位置を指したものになります。
タグとの違いは、コミットによって新たな変更履歴を追加すると、ブランチの位置も新しい変更履歴に追従して移動。
タグは一度作成すると、参照している変更履歴から移動することはありません。
Gitにおけるブランチの動作
初期状態ではmasterというブランチで作業。masterブランチは最新の変更履歴Bを指す。
コミットを行うと、新しい変更履歴Cが追加。
masterブランチの位置もCの変更履歴を指す。
新しくdevelopブランチを作成。masterと同じ変更履歴Cを指す。
次にmasterブランチでコミットすると、変更履歴Dが追加。
masterブランチの位置だけが移動。
同様にdevelopブランチでコミット。masterブランチとは異なる変更履歴Eが追加。developブランチの位置も移動します。
このように、コミットするたびに変更履歴追加され、作業しているブランチのみが追従して移動していきます。
ちなみに、現在作業しているブランチはHEADという特殊なブランチで表す。
HEADブランチは、変更履歴ではなく、特定のブランチを指す。
(例)masterブランチで作業している場合
HEADブランチはmasterを指す。
次にdevelopブランチに切り替える
HEADブランチはdevelopを指す。