我的歷史樹目前看起來是這樣的: 混帳:移動提交前合併
我想申請提交b3
分支主。當然,我可以再次合併分支feature
爲master
但歷史會顯得凌亂兩個合併提交(a6
,並且a4
這只是沒用了):
因此,想什麼我知道,是如何使a4
現在指向b3
而不是b2
? 我承認SHA1
旨意是不同的,因此承諾將改名爲a4'
和a5'
我的歷史樹目前看起來是這樣的: 混帳:移動提交前合併
我想申請提交b3
分支主。當然,我可以再次合併分支feature
爲master
但歷史會顯得凌亂兩個合併提交(a6
,並且a4
這只是沒用了):
因此,想什麼我知道,是如何使a4
現在指向b3
而不是b2
? 我承認SHA1
旨意是不同的,因此承諾將改名爲a4'
和a5'
從主分支,你可以簡單地重訂到新b3
,同時保留使用--preserve-merges
option(或-p
合併短):
git rebase -p feature
這樣,當Git的變基,它不會試圖壓平合併,而是重新創建它的新基地犯下的頂部。所以,你的歷史看起來就像這樣:
master
↓
a1 -- a2 -- a3 --------- a4' -- a5'
\ /
\ /
b1 -- b2 -- b3
↑
feature
相比有以下不使用--preserve-merges
標誌時:
master
↓
a1 -- a2 a3' -- a4' -- a5'
\ /
\ /
b1 -- b2 -- b3
↑
feature
從主,做'git的變基-p b3'。這應該保留合併,但在「b3」之後移動它。 – poke
@poke thx!我應該在'a4'狀態下執行此操作,還是在'a5'上運行? – ebo
它應該在其中任何一個上工作。 – poke