Git编辑器是异步的吗?

Git编辑器是异步的吗?,git,textmate,Git,Textmate,我将textmate设置为git中的编辑器: $ git config --list --global | grep editor core.editor=mate 当我执行以下命令时: $ git commit --amend 或 即使我没有在编辑器中保存对文件的任何更改,更改似乎已提交。此外,在编辑器中保存对文件的任何更改都无效。这就好像编辑器是异步打开的 知道为什么会发生这种情况吗?在终端中,说: git config --global core.editor "mate -w"

我将textmate设置为git中的编辑器:

$ git config --list --global | grep editor
core.editor=mate
当我执行以下命令时:

$ git commit --amend 

即使我没有在编辑器中保存对文件的任何更改,更改似乎已提交。此外,在编辑器中保存对文件的任何更改都无效。这就好像编辑器是异步打开的

知道为什么会发生这种情况吗?

在终端中,说:

git config --global core.editor "mate -w"

(来源:)

执行提交命令时,编辑器是否已打开?可能有两个原因:编辑器已启动,新实例将现有实例置于前台并退出,或者您配置为编辑器的程序不是真正的编辑器,而是启动真正的编辑器并退出的引导程序。您需要使用
-w
(等待)选项调用
mate
。否则,它将在后台启动,控件将立即返回到
git
,它认为您已经关闭了编辑器。阅读更多详细信息(可能还有更完整的命令行)。git使用编辑器的工作方式是git为编辑器生成进程,然后等待该进程终止。一些允许1个实例与现有实例对话的编辑器告诉它打开新文件,然后终止,即暂时有两个实例,但git启动的一个实例在与已打开的实例对话后立即终止。这是一个脚本或可执行文件,生成真正的编辑器,然后终止。mate可以使用命令行选项等待文件关闭,如
--wait
或类似选项。啊,对了!我记得以前设置过一次。完全忘记了。谢谢!
[mybranch 099f0ea] My new changes
 Date: Tue Jan 28 19:11:52 2020 -0800
 3 files changed, 5 insertions(+), 9 deletions(-)
git config --global core.editor "mate -w"