2 つの既知のコミット間のコミット ID のリストを取得する必要があります。次のコマンドを使用しました。
git show --format=format:%H --quiet commitA...commitB
マージコミットがあるまで問題なく動作します。すなわち:
* c36a37b
|\
| * 92187d9
* | e24d2c4
|/
* eef755e
出力は次のとおりです。
$ git show --format=format:%H --quiet c36a37b...eef755e
c36a37b80caf2bae7b4833617443f4dfea8d8816
e24d2c4292baef4106976373ff3d01341834648d
92187d9a1002027c7d99824f2561467692bfd6b3
show
コマンドを変更してlog
代わりに使用すると:
$ git log --format=format:%H --quiet c36a37b...eef755e
c36a37b80caf2bae7b4833617443f4dfea8d8816
e24d2c4292baef4106976373ff3d01341834648d
92187d9a1002027c7d99824f2561467692bfd6b3
最初のコミットの後に空の行がないことに注意してください。私はgit show
overを使用することに熱狂的git log
ではありません。このアイデアをどこから得たのか覚えていません。しかし、この余分な空行が原因でプログラムが失敗し、何か特別な意味があるのだろうかと思います。
Git バージョン 1.9.5。