我运行了一个交互式 rebase 来提交 abcdef
。
git rebase -i abcdef
在编辑器 - Vim 中,我将所有 pick hash
行更改为
reword hash PREFIX: Original commit message
使用这个 vim 命令
%s/pick\(\w\{7}\)/reword\1 PREFIX:/
但随后 git 继续提示我为每次提交编辑消息。有没有简单的方法来批处理这个过程?
最佳答案
GIT_EDITOR='sed -i "1s/^/PREFIX: /"' GIT_SEQUENCE_EDITOR=vim \
git rebase -i abcdef
或者你可以
git -c core.editor='sed -i "1s/^/PREFIX: /"' \
-c sequence.editor=vim \
rebase -i abcdef
如果您不想使用环境覆盖。
如果您知道要全部改写它们,您甚至可以 sed 序列,GIT_SEQUENCE_EDITOR='sed -i "s/^pick/reword/"'
。
关于Git 在交互式 rebase 中预先添加所有提交消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43349905/