57

我很乐意使用 vim 作为我的默认提交编辑器,并且不想更改它。然而,当涉及到变基时,我发现自己压缩了几十个提交,我发现使用像 Textwrangler 这样的交互式编辑器更容易(除了顶部提交之外,所有的都用“squash”代替“pick”)。

有没有办法为一次性 rebase 命令指定一个备用编辑器?

我知道在 vim 中我可以做到:

:%s/pick/squash/

但这有它自己的小烦恼。

编辑- 如评论中所述,您可以通过转到第二行并执行来非常有效地压缩除顶部提交之外的所有内容

:,$s/pick/squash/

(注意逗号和美元与原文不同)

4

2 回答 2

71

尝试GIT_EDITOR在命令之前添加环境变量,如下所示:

GIT_EDITOR=<editor of choice> git rebase <...>

例如,要使用nano我会输入:

GIT_EDITOR=nano git rebase -i abcdef1234
于 2013-10-31T18:26:03.600 回答
17

所有交互式变基都有一个更好的选择。

https://github.com/sjurba/rebase-editor

它是一个用 node 编写的自定义 CLI 应用程序,专门用于交互式 rebase。

安装:

npm install -g rebase-editor
git config --global sequence.editor rebase-editor 

或者用纱线:

yarn global add rebase-editor
git config --global sequence.editor rebase-editor 
于 2017-03-27T22:06:30.287 回答