我們有這得到了在過去莫名其妙地搞砸了......以下情況的一個分支的一些問題:理解git的問題提交
- d是一個輸送支路我們接收來自供應商的變化
- M是主分支
- F是一個特性分支從d
- 提交被合併到M
- F被重訂具有M
- M含有F(F2)的意外提交,M3是該復歸提交
D D1-D2-D3-o \ \___________ \ \ M \-M1-M2-D2-F2-M3-D3-o \ / \ / F \-F1-F2-F3-o
現在,我們正試圖再次變基f控制M類似但是我們與M3恢復的變化F2缺失到底。
D D1-D2-D3-o \ \___________ \ \ M \-M1-M2-D2-F2-M3-D3-o \ \ F \-F1-F3-o
當分支˚F我們簡單地使用:
git pull --rebase origin master
有爲什麼墊底F1-F2-F3在F2-M3將失去F2解釋?
看來工作似乎是將F中的所有更改壓縮到一個提交,然後進行rebase,在這種情況下,F2中引入的更改仍然存在。
我試圖用rebase交互模式重寫M的歷史並保留合併......我的想法是去除意外提交(F2)和它的恢復(M3),但結果並沒有給出我有信心,我沒有放棄任何東西。
另外我遇到以下(在這裏提到的錯誤:https://git-scm.com/docs/git-rebase),這讓我放棄了重寫主人歷史的想法。
由--preserve-merges --interactive提供的待辦事項列表不是 代表修訂圖的拓撲。編輯提交和 重新提交它們的提交消息應該可以正常工作,但嘗試重新排序提交往往會產生違反直覺的結果。
圖爲剛剛的情況,不知道的變化是如何到達那裏的例子。但是你的解釋是可以理解的,thx!我的同事在分支機構工作之後已經開始工作了......下一次我們遇到這種情況時,我們會嘗試你提出的重新分配。 – Clauds