[英]How to move some published commits including a merge to a branch and merge them back later
我有一個看起來像這樣的歷史:
A-B-C-----------M-I-J-K-L
\ /
D-E-F-G-H
主機當前指向L。這已被推到原點。
我想創建一個包含D到L的新分支,並擁有指向C或與C匹配的簽入的主節點(起源),我需要確保其他克隆所做的任何事情都不會中斷。 然后在以后的某個時刻,我想將D到L合並回master並推送到原點。
我看過使用還原,但看起來會影響以后合並的內容。 有辦法做到這一點,我很困惑。
首先從L
創建一個新分支,以便您獲得參考
git checkout master
git checkout -b thisIsL
現在更改主deadbeef
以指向特定的提交deadbeef
,以獲取更好的十六進制值
git branch -f master deadbeef
git push --force origin master
(請參閱此答案 。)
但是,這很可能會破壞遠程服務器上的任何其他克隆(任何時候將rebase
或-force
標志用於推送的提交時,都可能是這種情況)。 因此,首先要使其他所有人都付出一切,並准備從新克隆開始(如果最終他們需要這樣做)。
所以這是我所做的,我不知道這是否是最好的解決方案:
這樣一來,我就可以在分支上進行所有更改了。 它也許使歷史有些松散,但我認為它將在以后正確地合並。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.