tusbasaのブログ

業務や勉強中に調べたことを自分用にメモするブログ

git HEAD~ git HEAD^ について

HEAD~はコミットを遡って指定する。
ex)HEAD~~ →二つ前のコミットを指定する。HEAD~2も同じ意味。
HEAD^は複数親がいる場合に親コミットを指定する。
ex)HEAD^2→二つ親コミットがある場合の二つ目を指定する。HEAD^^は一つ目の親コミットのさらにその上の一つ目の親コミットをさす。
HEAD~2^2のように組み合わせても使える。(この場合二つ前のコミットの二つ目の親コミットを指定する。)

※gitのv1.8.5からは、「HEAD」のエイリアスとして「@」が用意されている。

参考 https://yu8mada.com/2018/05/30/the-difference-between-head-caret-and-head-tilde-in-git/