GitのHEADと~(チルダ)と^(キャレット)

GitのHEADと~(チルダ)と^(キャレット)

GitのHEADと~(チルダ)と^(キャレット)についてまとめました。

Gitのコミットは以下のようなコミットとします。

コミット履歴

コミット履歴

HEADにつける~(チルダ)

HEADは現在のブランチ(main)を指します。現在のブランチ(main)は最新のコミットを指します。

HEAD~1とすると直前のコミットを指します。この時、「1」に限っては、省略可能です。

HEAD~ = HEAD~1 となります。

さらに直前のコミットはHEAD~2と指定します。このようにHEADに~2,~3を付け加えることでさらに直前のコミット履歴を指すことが出来るようになっています。

コミット履歴

コミット履歴

ですが、マージしたブランチのコミット履歴は~(チルダ)だけでは追うことが出来ません。

HEAD~イメージ

HEAD~イメージ

ここで親コミットを指定する^(キャレット)を使うケースが出てきます。

HEADにつける^(キャレット)

^(キャレット)を使うことで親コミットの番号を指定できます。今いるブランチの親は^、又は^1であらわし、マージしたブランチは^2と指定します。

HEAD^1とすると直前のコミットを指します。この時、「1」に限っては、省略可能です。

HEAD^ = HEAD^1 となります。

2つ上の親コミットに移動するにはHEAD^^とします。

git-head^

git-head^

今回の例では、マージしたブランチのコミットには、HEAD^^2HEAD^1^2でアクセスできます。

コミットIDのみ表示する(git rev-parse)

git rev-parse リファレンスとすると、コミットID(SHA1ハッシュ値)のみ表示します。

$ git rev-parse HEAD~3
ed48c6c2c76c7b35764123d5e6969e785b92b113

このコマンドで、HEADのコミットIDを確認しながら操作する事が出来ます。

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました