Git提交报错:设置Sublime Text为core.editor后提交因空消息失败
解决Git用Sublime Text提交时提示空消息的问题
这个问题我碰到过好多次了,根本原因是Sublime Text默认的启动方式和Git的预期不搭——Git需要编辑器阻塞式运行(也就是必须等你关闭编辑器后,才会继续执行提交流程),但默认的subl命令是后台打开窗口的,Git会误以为你已经编辑完了,直接读取到空内容,就抛出Aborting commit due to empty commit message错误。
不用慌,只要调整一下Git的编辑器配置就能解决,给你两个靠谱的方案:
方案一:直接修改Git的core.editor参数
在终端里运行这条命令,给subl加上-w参数(-w是wait的缩写,让Git等待直到你关闭Sublime窗口):
git config --global core.editor "subl -w"
方案二:指定完整路径(如果subl命令没在系统PATH里)
如果你的Sublime Text没有配置全局的subl命令,或者终端找不到subl,就需要写全程序路径:
- Mac系统:
git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -w" - Windows系统(注意路径里的空格要加引号):
git config --global core.editor "\"C:\Program Files\Sublime Text\subl.exe\" -w"
验证配置是否生效
设置完成后,在终端运行git commit,此时Sublime Text会正常打开,你输入提交消息后保存文件并关闭整个Sublime窗口(不是只关标签页),Git就会读取到你的提交消息,顺利完成提交了。
另外提醒一下:一定要确保你输入的提交消息不是空的,保存后再关闭窗口,不然还是会触发空消息错误哦。
内容的提问来源于stack exchange,提问作者RhythmInk
相关产品推荐
相关产品推荐

