繁体   English   中英

git合并从开发分支到掌握所有提交直到某个提交

[英]git merge from dev branch to master all commits upto a certain commit

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

只需运行git merge hash-of-desired-commit

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


1更准确地说,我在这里的意思是分支名称 另请参阅“分支”究竟是什么意思? 当您指定提交哈希时,生成的合并包含提交图的一个子集,并且分支这个词意味着提交图的某个子集,因此从这个意义上说,Git 确实合并了“分支”。

这里的问题是分支这个词本身被过度使用,这使得它失去了意义。 你有没有去过一个每个人都叫布鲁斯的派对? “嘿,布鲁斯!布鲁斯告诉我要告诉你,布鲁斯打电话给布鲁斯,说布鲁斯无法成功。请告诉布鲁斯,好吗?” (哪个布鲁斯实际上不会成功?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM