簡體   English   中英

如何刪除母版合並到分支(使用sourcetree)

[英]How to remove merge of master into branch (using sourcetree)

我已經弄亂了我的git存儲庫。 我曾經在多個分支機構工作過,並進行了合並,這在回顧中是一個非常糟糕的決定。

我正在JIRADAPTER-108,JIRADAPTER-109和JIRADAPTER-104的分支機構上工作(請參閱歷史圖片)。 JIRADAPTER-108和JIRADAPTER-109是我從master分支並僅一次提交就合並回master的錯誤修復。 為了使用這些更改,我決定將主服務器合並到JIRADAPTER-104分支中,結果發現這是一個壞主意!

乍一看,我無法將JIRADPATER-104分支中的所有內容合並回master,因為不允許foxtrot合並。 這是因為我嘗試從origin / JIRADPATER-104(最后一次綠色提交)合並。

通過將上一個提交合並到JIRADAPTER-104(最后一個粉紅色提交)之前,我能夠通過合並上次提交將正確的更改合並到主中。

盡管只是裝飾性的,但是我現在嘗試擺脫那些提交到JIRADAPTER-104分支的提交,在這里我將母版合並到其中(所有綠色提交)。

我試圖重置為最后一次粉紅色提交:沒有成功。

誰能幫助我擺脫這兩個綠色的提交,以便origin / JIRADAPTER-104和JIRADAPTER-104標簽位於最后一個粉紅色的提交上? 分行

編輯使用工作樹,請確保已在Tool > Options > Git下設置了選項Enable Force Push

然后,工作流程與Mlad274建議的工作流程非常相似(非常感謝):

  1. 單擊應該在分支中最后的提交
  2. 從上下文菜單中選擇“將Reset current branch to this commit
  3. 推送(在菜單底部選擇“ Force Push ”)

由於您知道所需的提交,因此只需強制分支指向它即可。

  1. git checkout JIRADAPTER-104
  2. git reset --hard <COMMIT-ID>
  3. git push -f

暫無
暫無

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

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