我想通过脚本使用 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
的等效操作,同时仍然可以非交互式地更改提交消息?
git commit-tree
。 - matt--fixup
有些困惑,因为--fixup=amend
允许更改消息 - 这就是两者之间的区别。只是需要在 $EDITOR 中交互式地完成,而不是在命令行中使用-m
,这就是我在这里遇到的问题。git commit --amend -m "message"
只会更改最后一次提交的提交,并且除此之外什么都不做。 - paradroidgit commit --fixup
后如何调用git rebase
。 - j6t