如何在保留Gerrit ID的同时将提交从master移动到分支?

时间:2014-03-07 18:33:24

标签: git gerrit

由于我的工作流程决定不好,我目前有一个本地主人,比公共主人提前5次提交。

然而,有一些新的签到冲突,我有责任解决它们。我不是Gerrit管理员。

我的计划是分别为我的5个更改中的每个更改创建分支,挑选提交并手动解决冲突,然后重新推送修复程序,以便它们坚持正确的Gerrit ID:s。

这种策略会起作用吗?如果没有,那会是什么?

2 个答案:

答案 0 :(得分:1)

由于git不知道gerrit id(它们只是提交消息的一部分,就git而言),这确实有效。但是,请注意,您可能不需要为每个提交分支 - 您可以使用单个分支,并且一次一个地挑选相关提交并手动修复冲突,将每个提交基于前一个。

一般情况下,当您想要将某些补丁从主分支向后移植到特定的稳定分支同时保留gerrit id时,使用gerrit管理git项目时,采摘樱桃是一种非常常见的工具。

答案 1 :(得分:0)

我认为你可以改变而不是挑选樱桃。

这将是这样的:

  1. 为每个提交创建一个分支
  2. 将您的主人重置为orgin主人
  3. Rebase将2-5提交给主人
  4. 此时你应该有5个分支,这些分支都将基于origin master,并且可以使用相同的Change-id再次推送。