我从我的主分支创建了一个新分支。在我的新分支中,我有一些提交(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 br
或merge branch br into feature
(。
1更准确地说,我在这里的意思是分支名称。 参见 我们所说的"分支"到底是什么意思? 当你指定提交哈希时,生成的合并包含提交图的一个子集,单词分支也表示提交图的某个子集,所以从这个意义上说,Git 确实合并了"分支"。
这里的问题是分支这个词本身被过度使用,这耗尽了它的意义。 你有没有参加过每个人都叫布鲁斯的聚会? "嘿,布鲁斯! 布鲁斯让我告诉你,布鲁斯打电话给布鲁斯转达布鲁斯无法做到。 请告诉布鲁斯,好吗? (哪个布鲁斯实际上不会成功?