在Windows中使用git bash,我将core.editor
设置为以下内容:
c:/program/emacs-24.2/bin/emacs --no-splash -geometry 110x58+200+2
在git commit
后,新的emacs框架会按预期打开。打开的缓冲区名称为$@
。我无法保存缓冲区并退出emacs。 Git抱怨提交消息是空的。
我有一个解决方法,即将core.editor
设置为:
c:/program/emacs-24.2/bin/emacs --no-splash -geometry 110x58+200+2 .git/COMMIT_EDITMSG
这有效,但有一些缺点:
COMMIT_EDITMSG
,另一个显示$@
。有没有更好的方法来选择emacs作为提交编辑器(除了在终端中打开它)?
答案 0 :(得分:5)
我建议你
Emacs
并使用M-x server-start RET
启动服务器或将(server-start)
添加到.emacs
emacsclient
(点击 Cx#),请使用emacs
代替core.editor
作为git
git
完成编辑后将客户端缓冲区传递回Emacs
)。
但是,git
与vc
一起使用的最佳方式是Emacs
:
在ChangeLog
中,键入 Cx vd your / git / repo / root / dir RET 以获取已修改文件的列表,使用 m <标记要提交的文件/ kbd>,键入 Cx vv 提交它们 - 出现提交消息的缓冲区(使用{{1}}条目为您初始化,如果有的话),编辑它,键入 Cc抄送,你就完成了。
答案 1 :(得分:1)
magit
提供了另一个非常好的emacs内git
界面。 magit
背后的想法是在emacs中为您提供一个交互式界面,以便轻松运行所有常用的git命令,从根本上不需要您从命令行直接运行git
。
虽然它不是标准的(与另一个答案中提到的vc
不同),但您可以使用包装系统非常简单地安装它,例如来自melpa或marmalade库。
答案 2 :(得分:1)
这在msysgit 1.7.11下适用于我:
git config core.editor '/d/bin/emacs-24.3/bin/emacs.exe'
但是当我切换到这个时:
git config core.editor '/d/bin/emacs-24.3/bin/emacs.exe --no-splash'
我和你一样有'$ @'缓冲区。