我有我的Git倉庫中兩個獨立的分支:縫合兩個獨立的分支歷史一起
A---B---C branch "old"
X---Y---Z branch "master"
我想生成以下病史:
A---B---C---X---Y---Z
我試圖與下面的底墊命令(當前分支是「主」):
git rebase --strategy=recursive --strategy-option=theirs old master
這將失敗:
First, rewinding head to replay your work on top of it...
fatal: Could not parse object 'fb56e6e20ea4a605503732df1f5a0a407808dffa^'
fb56e6
是「舊」分支的第一次提交。
爲我所用的櫻桃挑選命令替代(當前分支是「主」):
git rev-list --reverse old | git cherry-pick --stdin --keep-redundant-commits -X theirs
這工作得很好,但所有承諾得到一個新的「提交者」。有沒有辦法告訴櫻桃挑選它不應該設置提交者?如果沒有,是否有辦法通過rebase實現我想要的?
你所說的 「獨立」 是什麼意思?他們在歷史的任何地方見過嗎? – choroba
不,他們不符合(我認爲這是git rebase絆倒的問題) –
也許[git-reparent](https://github.com/MarkLodato/git-reparent)? – larsks