簡體   English   中英

Git 在同一主題分支上多次變基

[英]Git Rebase multiple times on same topic branch

我有一個Topic分支,我不斷對其進行開發。 有時我需要將內容放回Main分支。 我第一次使用rebase進行合並(如圖所示T1B )。 之后, TopicMain分支都繼續增長,在某個點T2我想再次變基

在此處輸入圖像描述

問題來了,我想要將T1T2之間的提交一個一個地應用到Main Head,但是,git 仍然嘗試將T0T2之間的提交應用到Main head。 換句話說,git 不知道T0T1之間的提交已經重新定位到Main的事實。 這導致了許多不必要的沖突。

我通讀了 git rebase 文檔,但似乎沒有一個參數可以指定計算delta patches的起點。 所以我被困在這一點上。

任何人都可以幫助我嗎?

您正在混淆mergerebase

您已將 T0.. T1合並到主分支中,您還沒有將它們重新定位到主分支。 你應該選擇你的策略:總是變基或合並。

如果您在主分支上重新設置 T0..T1 的基礎,您的圖表將如下所示:

A main branch start
...
B <- main branch
T0'
...
T1' <- topic branch

那就是:線性歷史:簡短回顧:

  • merge創建一個合並提交,每個分支的歷史記錄保持不變(如您的示例中所示)
  • rebase重寫你的(主題)分支的歷史。 結果是線性歷史。

閱讀rebase doc后找到答案

git rebase --onto main T1 T2

它計算 [T1, T2] 之間的增量並將它們一一應用到main

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM