GitのHEADと~(チルダ)と^(キャレット)
GitのHEADと~(チルダ)と^(キャレット)についてまとめました。
Gitのコミットは以下のようなコミットとします。
HEADにつける~(チルダ)
HEADは現在のブランチ(main)を指します。現在のブランチ(main)は最新のコミットを指します。
HEAD~1とすると直前のコミットを指します。この時、「1」に限っては、省略可能です。
HEAD~ = HEAD~1 となります。
さらに直前のコミットはHEAD~2と指定します。このようにHEADに~2,~3を付け加えることでさらに直前のコミット履歴を指すことが出来るようになっています。
ですが、マージしたブランチのコミット履歴は~(チルダ)だけでは追うことが出来ません。
ここで親コミットを指定する^(キャレット)を使うケースが出てきます。
HEADにつける^(キャレット)
^(キャレット)を使うことで親コミットの番号を指定できます。今いるブランチの親は^、又は^1であらわし、マージしたブランチは^2と指定します。
HEAD^1とすると直前のコミットを指します。この時、「1」に限っては、省略可能です。
HEAD^ = HEAD^1 となります。
2つ上の親コミットに移動するにはHEAD^^とします。
今回の例では、マージしたブランチのコミットには、HEAD^^2やHEAD^1^2でアクセスできます。
コミットIDのみ表示する(git rev-parse)
git rev-parse リファレンスとすると、コミットID(SHA1ハッシュ値)のみ表示します。
$ git rev-parse HEAD~3 ed48c6c2c76c7b35764123d5e6969e785b92b113
このコマンドで、HEADのコミットIDを確認しながら操作する事が出来ます。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^



