[英]Merge large git commit by splitting it into small commits on master branch
[英]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 br
或merge branch br into feature
)。
1更准确地说,我在这里的意思是分支名称。 另请参阅“分支”究竟是什么意思? 当您指定提交哈希时,生成的合并包含提交图的一个子集,并且分支这个词也意味着提交图的某个子集,因此从这个意义上说,Git 确实合并了“分支”。
这里的问题是分支这个词本身被过度使用,这使得它失去了意义。 你有没有去过一个每个人都叫布鲁斯的派对? “嘿,布鲁斯!布鲁斯告诉我要告诉你,布鲁斯打电话给布鲁斯,说布鲁斯无法成功。请告诉布鲁斯,好吗?” (哪个布鲁斯实际上不会成功?)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.