我是 GIT 的新手。几天前,我从 GitHub 链接下载了适用于 Windows 的 GIT。我正在使用命令行工具MinGW32。我对默认编辑器不满意,所以我一直在尝试设置我最喜欢的编辑器。
我按照此处的说明使用 EditPad Pro 作为我的编辑器。但我不断收到以下消息:
Aborting commit due to empty commit message.
EditPad Pro 打开一个新实例。MinGW32 正在等待,因为我在关闭 EditPad Pro 之后才收到中止消息。当编辑器打开时,它会打开一个名为COMMIT_EDITMSG
. 当我关闭编辑器时,该文件将保存到 repo 的主目录中。
我在这个答案中找到了线索,特别是这句话:
[Vim] 默认将文件保存到 .git/COMMIT_EDITMSG
如果我在关闭编辑器之前执行另存为以将文件保存到 .git 目录,那么它可以工作。但是,这样做有两个问题:
- 我必须记住另存为
- 我没有得到 Git 默认添加到 COMMIT_EDITMSG 的有用评论
当前的配置设置core.editor
是:
"'D:\Program Files\JGsoft\EditPadPro5\EditPad Pro.exe' //newinstance"
我不确定说明中$*
提到的内容是什么,但我尝试了有和没有那个以及有和没有单/双引号的各种变体。我也尝试在 shell 脚本中设置值。在最坏的情况下,它根本不起作用(例如,甚至不会打开编辑器),最好的情况是它打开一个空白文件。
如何让我的编辑器使用 Git 在 .git 目录中创建的文件打开?
编辑:无论我是否使用,我都会得到完全相同的结果$*
,这个答案说不需要。这个Git Pro页面在解释如何设置外部合并和差异工具时提到了它,但在解释core.editor
配置设置时没有提到它。注意:我也试过%*
.
如果$*
需要该变量(并且缺少该变量),我认为 EditPad Pro 将打开一个空白的Untitled文件,而不是当前目录中的一个空白 COMMIT_EDITMSG 文件。问题似乎是路径。
编辑:我做了更多的实验。我的文件路径中有空格,我认为这可能会导致问题。我将我的 repo 克隆到一个名称中没有空格的新目录中,并修复了我的配置变量。它没有解决问题。但我注意到另一个问题。在我的一些测试中,加载到编辑器中的空白文件名为$@
.