在我当前的开发环境中,当我以交互模式(git rebase
)运行--interactive
时,它会经常打开vi
并提示我更改某些文本文件作为我告诉它如何处理rebase。 vi以一种似乎由git决定的方式突出显示这些文件。 (在这种情况下git具有特殊含义的'pick','squash'等关键字用不同的颜色突出显示。)
我更喜欢在vi上使用emacs,所以我配置了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”,修订版哈希,提交描述和注释都将以不同颜色突出显示。
答案 0 :(得分:3)
有一种模式已经存在于某处(例如作为magit的一部分),或者有人必须为它编写一个(如果你向我们展示一些样本内容,应该相当容易,以及一些提示关于他们有什么样的文件名。)
答案 1 :(得分:0)
http://bogolisk.github.com/egg/egg-log-rebase.png
Egg已经内置了对交互式rebase的支持。您