git - 如何在 Git 中将 branchA 的 branchB 合并到 Master 中?
问题描述
我实际上有这个:
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
在这三种情况下,合并的结果代码是相同的,只是历史不同。
推荐阅读
- charts - 删除图形节点而不更改节点的编号标签
- sql - 如何根据另一个表中的平均值对一个SQL表进行排序
- python - 为什么在 OpenCV 中将 BGR 转换为 YCbCr 与使用方程式手动计算相比继承了不同的值?
- javascript - 如何防止在单击 ESC 按钮时打开反应视频模式?
- sqlite - 单个 VIEW 中的多个单独的 WHERE 类
- java - 调用android SQLite数据库失败
- node.js - 当用户可以从任何以前的版本跳转到最新版本时,如何使用 dexie 3.0 对多个表进行版本控制?
- python - Python - 如何找到部分字符串出现?
- python - 单个 MongoDB 文档的过期不起作用
- sql - (SQL) 将日期条目和 date_update 列添加到现有 SQL 表