Git交互式变基修改提交后,如何批量重新签名后续提交?
批量重新签名后续提交的简便方法
有两种高效方式可以批量重新签名bbbb和cccc这类后续提交,无需逐个设置e指令手动处理:
方法1:在交互式变基指令中添加exec命令
编辑变基指令时,除了给目标提交aaaa设置e(编辑),给后续需要重签的提交追加exec指令,让Git自动执行签名操作:
e aaaa commit message for n-2 pick bbbb commit message for n-1 exec git commit -S --amend --no-edit pick cccc commit message for n exec git commit -S --amend --no-edit
完成编辑后,变基过程会自动对bbbb和cccc执行重签,无需手动输入命令。
方法2:变基完成后用--exec批量处理
如果已经完成对aaaa的修改并结束第一次变基,可直接针对目标提交范围执行带--exec的变基:
git rebase -i --exec 'git commit -S --amend --no-edit' HEAD~3
在弹出的编辑界面中,将aaaa的指令改为pick(已完成修改),bbbb和cccc保持pick即可,Git会自动遍历这些提交完成重签。
另外,若希望后续所有提交默认签名,可设置全局配置:
git config --global commit.gpgsign true
该配置仅对新提交生效,历史提交仍需用上述方法重签。
内容的提问来源于stack exchange,提问作者Nathaniel
相关产品推荐
相关产品推荐

