我想使用git commit --fixup
通过脚本压缩一些提交,但我遇到了一个问题,即-m
的消息开关不能与--fixup:amend
一起使用。
$ git commit --fixup=amend::/'Upgrade to foo' -m "Upgrade to bar"
fatal: options '-m' and '--fixup:amend' cannot be used together
(如果我能走那么远的话,我以后会git rebase --autosquash <some-much-earlier-commit>
把它们都挤在一起)
我可以使用普通的--fixup
而不使用amend
,但这样我就不能更改提交消息了。如果没有-m
消息,编辑器将打开以编辑提交消息,因此这不能通过脚本来完成。
我知道这些是“瓷器”命令,但是当我通过脚本来做这件事时,我想知道是否还有一种方法可以做git commit --fixup=amend
的等价物,同时仍然使用“管道”命令非交互地更改提交消息?
1条答案
按热度按时间a8jjtwal1#
是的,你完全可以使用git commit --fixup=amend来修复和修改提交消息,而不需要交互输入任何东西。你所要做的就是使用**-C或--reuse-message**选项沿着旧的git commit命令。
下面是示例命令:
Git会自动修正并修改提交的新消息,而不需要你交互式地编辑消息。
但是,请注意,使用**--fixup=amend**会修改提交历史,所以要谨慎使用,特别是如果提交已经被推送到远程仓库。