在我当前的开发环境中,当我git rebase
以交互模式 ( --interactive
) 运行时,它通常会打开vi
并提示我对某些文本文件进行更改,以便我告诉它如何处理变基。vi 以似乎由 git 确定的方式突出显示这些文件。(在此上下文中对 git 具有特殊含义的关键字,如“pick”、“squash”等,用不同的颜色突出显示。)
我更喜欢使用 emacs 而不是 vi,因此我将 git 配置为改为打开 emacs ( git config --global core.editor "emacs -nw"
)。不幸的是,emacs 并没有像 vi 那样突出显示 git 提供的文件。我怎样才能解决这个问题?
编辑:
如果你不熟悉交互式 git rebase 生成的文件,这里有一个例子:
pick f218f23 A major overhaul of the cucumber integration tests
pick 601d8f4 A bunch of minor bug fixes and refactoring
pick 1adc507 Adding and updating documentation for various files.
# Rebase ff8cb22..1adc507 onto ff8cb22
#
# 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's log message
# x <cmd>, exec <cmd> = Run a shell command <cmd>, and stop if it fails
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
c:\my_project\.git\rebase-merge\git-rebase-todo [unix] (15:50 26/10/2012)
在此示例中,关键字“pick”、修订哈希、提交描述和注释都将以不同的颜色突出显示。