我可以使用 rebase 来更新我的功能分支以避免污染我的提交,即使拉取请求可能会过时吗?

问题描述 投票:0回答:1

我有一个 Develop 分支,它正在积极投入大量工作。在我开始我的工作之前,我喜欢在 Develop 之外创建一个功能分支。但是,在我为它提交拉取请求之前,我喜欢主动解决合并冲突。所以我想做的是将更改拉到 Develop 分支,并最终将这些更改干净利落地放入我的功能分支中。

问题是,在我提交拉取请求后,可能需要数周甚至数月的时间才能将其合并。除此之外,特定的提交需要尽可能地保持隔离,因为之后它经常被挑选到测试分支中由于在特定时间仅请求特定功能。

我相信在我为 Develop 分支拉下更新后,如果我将 Develop 分支合并到我的功能分支中,这些提交将成为我的功能分支提交的一部分,并且我的功能提交变得混乱并依赖于合并的新功能。我觉得..

现在是时候使用rebase了吗?还是 rebase 会成为一个问题,因为我的功能分支 (fb1) 之后会闲置很长时间? (我读到这是一个问题,因为在拉取请求等待时,更多的提交将被添加到开发分支) 我唯一的选择是从刚刚更新的开发分支创建一个新分支(fb2),然后将我的功能分支(fb1)合并到(fb2),然后将我对(fb2)的拉取请求放入开发分支吗?

我确定这是一个多余的问题,但我很难找到任何人在这种情况下提供建议,考虑到分支在(尝试)被合并之前肯定会变得陈旧。

也许我一开始就误会了合并的工作原理。

谢谢!

git merge rebase cherry-pick
1个回答
0
投票

是的,您可以在等待合并请求获得批准时使用 rebase 来使您的功能分支保持最新状态。

我在工作中使用的工作流程是分支开发功能,在创建合并请求之前,我将我的功能分支重新设置为开发。这样,当 MR 被批准时合并到开发中就变成了一个没有合并提交的快速合并。这使提交历史保持干净整洁。

如果您的合并请求停滞不前,最好通过经常变基来使您的功能分支与开发保持同步。如果您等待的时间太长,开发中的新代码量可能会使您的合并变得困难,并有许多冲突需要解决。它还让您有机会使用来自 develop 的新代码测试您的功能。

© www.soinside.com 2019 - 2024. All rights reserved.