GIT:如何合并两个分支而不实际合并文件(平凡合并)

25

在Git中,是否有一种方法可以合并两个分支而不合并文件?换句话说,只需绘制合并箭头。

假设我有A和B两个分支。我需要将B分支合并到A分支,但不需要B分支中的所有更改,而只需要连接这两个分支。

git checkout A
git merge B --no need changes

通常情况下,有没有一种方式可以合并两个分支而不涉及子模块?我想保持分支A中的子模块不变,同时仍需要合并分支B。


1
“_不合并文件_”是什么意思? - 1615903
我只需要创建提交图。换句话说,我只需要绘制一个合并箭头,而不实际合并两个版本。 - Ishan Liyanage
4
听起来你正在要求进行 git merge -s ours B,但是你的描述并不完全清晰。 - torek
我已经更新了问题。 - Ishan Liyanage
显示剩余2条评论
2个回答

40

使用 git merge -s ours B 进行合并,丢弃任何B引入的更改。然而,来自 B 的提交现在已经在 A 中,但是文件处于合并前的 A 状态。


似乎使用“-s ours”命令总是会添加一个合并提交,即使忽略了“--ff-only”标志。 - Mike Shiyan

1

您可以执行真实合并并运行git reset ORIG_HEAD --hard来回溯。

如果您只是想尝试或学习在git merge之后发生了什么,您可以通过 git commit --allow-empty --allow-empty-message --no-edit 多次创建一系列空提交。创建提交和分支后,您可以运行git merge并使用gitk git log --oneline --graph 查看提交图形。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接