初步方案:Git的合併與--squash同時保持每個日誌提交
A (master)
\
B - C - D (development)
我想合併後--squash:
A - E (master/development)
\ /
B - C - D
分支master
,git log
將
commit E
Squashed commit of the following:
commit D
commit C
commit B
commit A
繼續在分支上開發development
:
A - E (master)
\ /\
B - C - D F - G - H (development)
合併與壁球再次:
A - E - I(master/development)
\ /\ /
B - C - D F - G - H
分支master
,git log
將
commit I
Squashed commit of the following:
commit H
commit G
commit F
commit E
Squashed commit of the following:
commit D
commit C
commit B
commit A
分支development
,git log
將
Commit I
Commit H
Commit G
Commit F
Commit E
Commit D
Commit C
Commit B
Commit A
竟被我d希望合併在master
上被壓縮的提交,同時保留development
的所有提交。
我不知道如何實現這一點。我的問題是,我不知道如何在第一次合併時將D
指向E
,並且I
將僅包含B,C,D,E,F,G,H
而不是F,G,H
。
你爲什麼要這樣做?這似乎使歷史更加複雜。你的日誌結果也不會像你想象的那樣。 master的日誌會顯示所有提交。 – Schwern