使用revert --continue指定提交信息

15
我如何使用“revert --continue”命令提供消息?(即在执行还原并解决冲突后)
“revert --continue”尝试弹出消息编辑器(在我的系统上失败-另一个问题),但如果我尝试以下操作:“git revert --continue -m“还原 blah blah 并解决冲突””,我发现“git revert”具有不同目的的"-m"参数。
在文档中,我没有看到其他与消息相关的参数。是否有未列出的常见选项?

我期望 --continue 命令会在处理合并冲突之前恢复到上一次的状态,而不是一个添加消息的位置。 - Makoto
@Makoto,它正在为撤销命令所做的更改创建提交,因此需要一个提交消息。 - explunit
是的,但这只会在成功还原到您指定范围内的所有提交后发生。 --continue 只有在 序列器 中才真正起作用,最终结果是让您有地方提交并添加消息。 - Makoto
@Makoto 但是为什么它要尝试运行消息编辑器(在我的情况下是gitpad)呢? - explunit
2个回答

26

运行git revert --no-commit <SHA>,然后运行git commit -m "<message>"


4
作为Raman Zhylich答案的一种替代方案:
git revert <SHA>
git commit --amend -m "<message>"

或者如果你想做得更高级,实际上向合并提交的消息附加一些内容。

oldSubject="$(git log -1 --format="%s")"
oldBody="$(git log -1 --format="%b")"
git commit --amend -m "$(echo -e "$oldSubject\n\n$oldBody\n\nfootnote: I'm a good boy.")"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接