Предположим, что я запустил git rebase -i HEAD~3
pick 6b24464 foo
pick a681432 Foo
pick 8ccba08 foo foo
# Rebase 960c384..8ccba08 onto 960c384
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit log message
# x, exec = run command (the rest of the line) using shell
Я хотел бы переписать фиксацию сообщений непосредственно из этого файла, вместо того, чтобы редактировать каждое сообщение фиксации по одному (как обычно, с помощью reword
), например:
reword 6b24464 foo bar
reword a681432 Foo Bar
reword 8ccba08 foo foo bar bar
# Rebase 960c384..8ccba08 onto 960c384
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit log message
# x, exec = run command (the rest of the line) using shell
Я надеялся, что это можно сделать, используя только reword
или edit
, но я не могу понять, как (если вообще возможно). Я смог добиться того же результата с помощью
x git cherry-pick 6b24464 && git commit -amend "foo bar"
Однако, это больше времени, чем для больших переделов. Любые идеи?