如何将Gerrit更改ID添加到较旧的提交中?

时间:2017-06-09 08:00:55

标签: git gerrit atlassian-sourcetree

很少有人提交,我做了一个没有更改ID的提交。不幸的是,只要您在source-tree中合并分支而不取消选中"立即提交合并"。

我迫切需要将代码推送到Gerrit,但我不能,因为其中一个提交没有更改ID。

如何将更改ID重新添加到旧提交中?

2 个答案:

答案 0 :(得分:3)

您可以在origin/master上执行交互式变基,假设origin/master是您正在使用的远程HEAD。您可以将origin/master替换为您想要的任何内容。

git rebase -i origin/master

执行此操作时,我的示例将提示origin/master之前的所有提交。你必须选择所有提交但是没有Change-ID的提交。对于那个,你需要编辑消息。这样做会自动添加更改ID。

外部资源: Git interactive Rebase

答案 1 :(得分:0)

假设提交历史记录为A-B-C-D-E且缺少B中的更改ID。我不是源树用户,所以我将在终端中发出命令:

git reset B --hard
#assuming you have installed the hook commit-msg that generates the change id.
git commit --amend
git cherry-pick C D E
#OR: git cherry-pick B..E