Git将所有提交消息放在交互式rebase中

pet*_*ula 4 git rebase

我运行了一个交互式基础,以进行提交abcdef

git rebase -i abcdef
Run Code Online (Sandbox Code Playgroud)

在编辑器-Vim中,我将所有pick hash行更改为

reword hash PREFIX: Original commit message 使用此vim命令

%s/pick \(\w\{7}\)/reword \1 PREFIX:/

但随后git继续提示我为每次提交编辑消息。有没有简单的方法来批量处理此过程?

jth*_*ill 5

GIT_EDITOR='sed -i "1s/^/PREFIX: /"' GIT_SEQUENCE_EDITOR=vim \
        git rebase -i abcdef
Run Code Online (Sandbox Code Playgroud)

或者,您可以

git -c core.editor='sed -i "1s/^/PREFIX: /"' \
        -c sequence.editor=vim \
        rebase -i abcdef
Run Code Online (Sandbox Code Playgroud)

如果您不想使用环境替代。

如果您知道要重新编写它们的单词,甚至可以按顺序输入GIT_SEQUENCE_EDITOR='sed -i "s/^pick/reword/"'