从开发分支进行 Git 合并,以掌握直到某个提交的所有提交



我从我的主分支创建了一个新分支。在我的新分支中,我有一些提交(A-B-C-D-E(。我想将提交 C 和之前的所有内容合并到 master 中。我知道我可以使用樱桃采摘 A、C 和 C。但是有没有办法告诉 git 包含 C 和之前的所有内容并合并到 master 中?

只需运行git mergehash-of-desired-commit.

事实上,这就是git merge的实际工作方式。 Git 不是基于分支1进行合并,而是基于提交。 当您运行git mergebranch-name时,Git 会将名称转换为提交哈希,然后与哈希进行合并。 名称唯一要做的就是设置默认提交消息(例如,merge branch brmerge branch br into feature(。


1更准确地说,我在这里的意思是分支名称。 参见 我们所说的"分支"到底是什么意思? 当你指定提交哈希时,生成的合并包含提交图的一个子集,单词分支表示提交图的某个子集,所以从这个意义上说,Git 确实合并了"分支"。

这里的问题是分支这个词本身被过度使用,这耗尽了它的意义。 你有没有参加过每个人都叫布鲁斯的聚会? "嘿,布鲁斯! 布鲁斯让我告诉你,布鲁斯打电话给布鲁斯转达布鲁斯无法做到。 请告诉布鲁斯,好吗? (哪个布鲁斯实际上不会成功?

最新更新