[英]Git - When branching off BranchA, how do I reset my new branch BranchB so it doesn't have any BranchA content?
[英]How do I merge my branchB of branchA into Master in Git?
我实际上有这个:
a -- b -- c <-- Master
\
d -- e <-- BranchA
\
f -- g -- H -- i <-- BranchB
我想要的是将我从 BranchA 和 BranchB 的更改集成到 Master 中。 我通常喜欢变基,但我认为这不是一个好主意,因为我的更改是在公共回购中,特别是,提交 H 是其他人的工作。
因此,如果我的假设是正确的,即合并更容易,我想知道,我是否需要将 Master 合并到 BranchA,然后将 BranchA 合并到 BranchB,然后再将 BranchB 合并回 Master,或者我可以节省一些时间并合并 Master进入BranchB,然后将其全部合并回来? 我知道这会留下混乱的提交历史,因此是我的上一段。
由于这是一个团队项目,因此 master 有变化。
只需检查master
并将BranchB
合并到其中,这会将所有更改合并到 master 因为BranchB
包含来自BranchA
的所有更改。
a -- b -- c
\
d -- e <-- BranchA
\
f -- g -- H -- i <-- Master, BranchB
由于这将导致快进合并,如果master
上没有更改,您可能需要考虑创建新提交的选项--no-ff
明确告知分支手已合并。
a -- b -- c -------------------------- j <-- Master
\ /
d -- e / <-- BranchA
\ /
f -- g -- H -- i <-- BranchB
根据您想要“告诉”历史的内容,您还可以先合并先合并BranchA
,然后再合并BranchB
。
a -- b -- c -------j------------------ k <-- Master
\ / /
d -- e / <-- BranchA
\ /
f -- g -- H -- i <-- BranchB
在这三种情况下,合并的结果代码是相同的,只是历史不同。
这主要取决于您与其他维护者之间的工作流程。
为了实现您的目标,是的,您可以简单地将分支 A 和 B 一个接一个地合并到 master 中。
除非...您遵循某种形式的git 流程,其中您的BranchA
是您的发布分支,并且您需要将其合并到master
和BranchB
中,但是鉴于您的图表和问题,我假设这不是您遵循的确切约定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.