我们正在使用git(和gerrit),但项目中的每个人都是git的新手,这就是我们犯下以下错误的方式:
此时:
非常感谢您的回答。
答案 0 :(得分:1)
首先是快速PSA。您不应该在服务的存储库中重新定位分支。在您概述的场景中,您应该将master合并到testbranch中。这会将您的主更改添加到testbranch。通过重新定位,您将重写公共分支(由其他人克隆的分支)的历史记录,这将导致开发人员克隆您的存储库时无法解决问题。
那就是说,如果你成功地将master重新命名为testbranch那么master应该拥有master + testbranch的所有更改。我想这就是你想要的。您应该能够验证master是否具有您想要的所有更改(即所有testbranch更改)如果是这种情况,那么您可以使用当前的master继续前进。
如果testbranch上还有其他更改尚未被重新设置为master,那么您将要将这些更改合并到master。合并应该是直截了当的,因为master和testbranch通常是相同的,因为你以前的rebase。
您遇到合并冲突的事实很奇怪。我建议在尝试合并时创建一个新的克隆。您对公共存储库所做的重新定位可能会混淆任何正在提取/获取更改的克隆。
或者,如果您可以验证testbranch是否具有您想要的所有更改,您可以尝试"重命名分支"计划你在问题中概述。要做到这一点:
新主人现在与testbranch相同
您需要告诉所有开发人员创建一个新的克隆并停止使用任何旧克隆。