我有一个大约一个月前从“主”分支创建的“项目”分支。我正在尝试将所有更改从主分支引入项目分支,同时仍然保持分支分开。我需要单个提交的最终结果,它是两个分支的组合,然后我可以将其推送到我们的 gerrit 设置。
我尝试获取两个分支的最新版本,然后将主分支合并到项目分支中。这导致了合并两个分支的合并提交。但是,我想要一个包含所有更改的单个提交,这些更改将与 gerrit 很好地配合,所以我尝试将分支重新定位在“origin/project”之上,但这又要我去合并主分支中的 600 多个提交自从两人分手。既然是这种情况,我假设此时推送提交将导致 gerrit 也需要疯狂的 rebase。
我还尝试将项目分支重新定位并压缩到其分支点之上的一个提交,然后将该一个提交重新定位到主分支之上。最后它给了我一个“Refs ref/heads/project is at [hash] but expected [ different hash]”错误。这种方法也会删除我的项目分支的提交历史,不是吗?
有没有更好的方法来解决这个问题?我的假设是否正确,只要主分支中没有任何项目内容,下次我尝试将两者结合起来时,我会遇到同样的冲突吗?