我需要獲取兩個已知提交之間的提交id列表。我用下面的命令:顯示提交ID時git顯示和git日誌之間的區別
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
而不是git log
- 我的事件不記得我從哪裏得到這個想法。但是這個額外的空行導致我的程序失敗,我不知道它是否有任何特殊的含義。
Git版本1.9.5。
?你能編輯你的問題並添加一個可重複的例子嗎? – Jubobs 2015-04-02 15:32:18
版本已添加。每個合併提交的行爲就像那樣。 – fracz 2015-04-02 15:41:22