^、~の違いがよくわからなかったので、調べた。 相対的なコミット指定方法 ^を用いる方法 主にブランチをマージしたコミットの場合に用いる。 マージしたコミットの場合、以下のように親が2つ以上いることがある。 この際にHEAD^1とすることで一つ目の親、HEAD^2とすることで2つ目の親を指定することができる。 ○ー○ ○/ ~を用いる方法 常に一番目の親を指定する。 まとめ つまり、HEAD^1とHEAD~1は同じものを指している。これだから混乱してたんだな^^; 範囲指定 ダブルドット git log [branchname]..[branchname2] これで[branchname2]にしか含まれていないコミットが抜き出せる。 git log [branchname2] --not [branchname] git log [branchname2] ^[branchname]として