繁体   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