git rebase --editor =/something/other/than/vim?(为了更容易挤压)

Sri*_*bat 42 git vim editor git-rebase

我很高兴使用vim作为提交的默认编辑器,并且不希望改变它.然而,当谈到变基时,我发现自己压缩了数十次和几十次提交,我发现使用像Textwrangler这样的交互式编辑器更容易(用"壁球"代替"选择"除了顶部提交).

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

我知道在vim我能做到:

:%s/pick/squash/
Run Code Online (Sandbox Code Playgroud)

但这有其轻微的烦恼.

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

:,$s/pick/squash/
Run Code Online (Sandbox Code Playgroud)

(注意逗号和美元与原始版本不同)

Rob*_*rek 54

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

GIT_EDITOR=<editor of choice> git rebase <...>
Run Code Online (Sandbox Code Playgroud)

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

GIT_EDITOR=nano git rebase -i abcdef1234
Run Code Online (Sandbox Code Playgroud)


bar*_*sju 10

所有交互式rebase都有更好的选择.

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

它是一个专门为交互式rebase编写的自定义CLI应用程序.

安装:

npm install -g rebase-editor
git config --global sequence.editor rebase-editor 
Run Code Online (Sandbox Code Playgroud)

或者用纱线:

yarn global add rebase-editor
git config --global sequence.editor rebase-editor 
Run Code Online (Sandbox Code Playgroud)

  • dang 这个工具太棒了 (4认同)