🚀

GitのHEADを理解する

2024/01/01に公開

GitのHEADとは

HEADとは、今いるブランチの最新のコミット(ブランチの先頭)を指し示すポインタ。

mainブランチにいる場合
HEADcommit_id_2を示す。

developブランチに切り替えた場合
HEADはdevelopブランチの先頭のコミットcommit_id_3移動する。

developブランチでコミットした場合
HEADが指し示すコミットの先頭commit_id_3に、として新たなコミットcommit_id_4を追加する。
その後HEADは追加されたコミットcommit_id_4に移動し、次のコミットの基点になる。

HEADは重要!

新しくコミットする時の基点(目印)となる!

その他の主なHEADの役割

  • 履歴の探索
    HEADの位置を起点に遡って探索を行う。
  • マージgit mergeとリベースgit rebase
  • HEADはマージやリベースを行う現在のブランチを示す。
    • マージ:HEADが指すブランチに他のブランチの変更を統合
    • リベース:HEADが指すブランチの変更が他のブランチの変更の上に再適用
  • チェリーピックgit cherry-pick
    他のブランチから特定のコミットを適用するときに、HEADが示すブランチに適用できる。

Discussion