【发布时间】:2021-04-30 12:46:00
【问题描述】:
我的 git 流程如下所示:
x - x (feature/branch-a)
/
(master) x- x (develop)
\
x - x (feature/branch-b)
目前有branch-a 到develop 的提交和PR。在branch-a PR 被接受之前,我会稍等片刻,但branch-b 重用了我需要的branch-a 的大量逻辑。
在我开始将代码从branch-a 复制到branch-b 之前,有没有更好的方法来合并此代码而不创建功能branch-b 关闭branch-a。
【问题讨论】:
-
我真的没想到会这么简单,因为一旦 PR 被接受,远程分支最终会消失。是的,这似乎奏效了。只要
branch-aPR 首先被接受/合并到develop,这不会产生任何冲突? -
使用 rebase 来移动 feature-b。您可以将其放在 feature-a 之上,然后在 feature-a 合并时将其重新定位在 develop 或 master 之上。我并不是说这是不费吹灰之力。您可能必须使用 rebase 来提供对 skip 的修订(例如
git rebase --onto master feature-b~3 feature-b仅对 feature-b 的最后 3 个修订进行 rebase),但实现起来非常简单。 -
经验法则:git 不关心你的分支,只关心你的提交。 “Merge branch-b to develop”只是意味着“在 branch-b 上找到尚未在开发中的提交,并应用这些更改”。
-
不幸的是,这个问题的标题让人们认为您是在问 如何 进行合并,而不是 如果 你可以/应该。我已更改标题并投票重新开放。
-
@TTT 谢谢!
标签: git