很少有人提交,我做了一个没有更改ID的提交。不幸的是,只要您在source-tree中合并分支而不取消选中"立即提交合并"。
我迫切需要将代码推送到Gerrit,但我不能,因为其中一个提交没有更改ID。
如何将更改ID重新添加到旧提交中?
答案 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