簡體   English   中英

如何在不合並先前分支的更改的情況下合並分支

[英]How to merge a branch without also merging changes from previous branches

我對 git 有點陌生,並且對分支和合並這些分支有疑問。

假設在我的項目倉庫中,我有 3 個“主要”分支:Alpha、Beta、Production。

這是我面臨的一個場景:

我目前在本地機器上的 Alpha 分支上工作。 我從 Alpha 創建了一個新分支,我們稱之為feature/newFeature 創建功能后,我提交並推送更改,然后將feature/newFeature合並到 Alpha 分支中以供 QA 測試。 如果 QA 批准,則將其合並到 Beta,然后是 Production 等。

現在,在feature/newFeature被合並到 Alpha (而不是任何其他分支)之后,我從 Alpha 創建了另一個分支,稱之為fix/hotfix 在修復了需要修復的內容后,我也將此分支合並到 Alpha 中。

但是(這是我面臨的問題),假設fix/hotfix已經過測試並且正在運行並且可以合並到 Beta 中,但feature/newFeature功能仍在 Alpha 上進行測試。 如果我嘗試將fix/hotfix分支合並到 Beta 中,它也會將feature/newFeature分支中的更改合並到 Beta 中(我顯然不想要,因為它仍在測試中)。

我理解為什么會發生這種情況,因為當我將feature/newFeature合並到 Alpha 中,然后在合並后從 Alpha 創建fix/hotfix分支時, fix/hotfix分支還包含來自feature/newFeature分支的更改。

我的問題是:有沒有什么方法可以將fix/hotfix分支合並到 Beta 中,而不會合並以前不應該合並的分支/更改?

您始終可以復制修復/修補程序分支並將其重新設置為 beta

git checkout fix/hotfix
git checkout -b fix/hotfix-copy
git rebase beta

這應該讓您了解 beta 分支上的修補程序更改。 然后只需合並修補程序

暫無
暫無

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

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