繁体   English   中英

如何在一个git commit中将master分支的更改合并到我的side project分支中?

[英]How do I merge a master branch's changes into my side project branch in one git commit?

我有一个大约一个月前从“主”分支创建的“项目”分支。 我试图将所有更改从master分支引入到项目分支中,同时仍然保持分支分离。 我需要单个提交的最终结果,该提交是两个分支的组合,然后可以将其推送到我们的gerrit设置。

我尝试获取两个分支的最新版本,然后将master分支合并到project分支中。 这导致合并提交合并了两个分支。 但是,我想要一次提交,使所有更改都可以很好地与gerrit配合使用,因此我尝试在“ origin / project”的基础上重新建立分支,但这然后希望我继续将600多个提交合并到master分支中由于两个分裂。 既然是这种情况,我假设此时推送提交将导致Gerrit也需要疯狂地重新设置基础。

我还尝试对自己的项目分支进行基础调整,并将其压缩到分支分支点上方的一次提交,然后在主分支之上重新调整该一次提交。 最后,它给我一个“ Refs ref / heads / project is at [hash]但预期为[different hash]”错误。 这种方法还会删除我的项目分支的提交历史记录,不是吗?

有没有更好的方法来解决这个问题? 我的假设是正确的,只要master分支中没有任何项目内容,下次我尝试将两者结合时,就会遇到相同的冲突?

merge不会将两个分支合并为一个。 仍然是两个不同的物理分支,其中提交进入两个单独的位置。 此外,自原始拆分以来,master分支不会对项目进行任何更改。 因此,合并是必经之路。 merge有一个选项--no-ff ,它将强制执行单独的提交。

您为什么认为合并提交不起作用? 将两个分支的历史记录合并到一个提交中正是合并的目的。 它们与Gerrit配合良好-我们一直在使用它们。

暂无
暂无

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

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