VS Code Git (Extension)错误并显示COMMIT_EDITMSG



我试图使用Git扩展在VSCode中提交更改,但是突然,当我尝试使用Git扩展从VSCode提交时,我收到一个错误,阻止我提交,上面写着:

提交操作被取消,因为提交消息为空。

然而,我从来没有机会提供提交消息,就像我以前能够做的那样。我可以通过MacOS终端正常提交,所以这似乎是VSCode特有的问题。

会弹出一个名为COMMIT_EDITMSG的文件。对于如何解决这个问题有什么想法吗?

我能够在VS Code导航到:

中解决这个问题。在代码;偏好比;设置

,然后搜索并取消选中"Git: Use Editor As Commit input";在这里建议:为什么COMMIT_EDITMSG打开时,我试图提交vscode?

当您从bash或其他shell会话中运行git commit时,Git调用您选择的编辑器。1,2Git然后等待这个编辑器向Git发出完成的信号,之后Git读取编辑器此时可能已经更新的文件。但是一些编辑器立即发出完成的信号,这就是问题发生的时候。

如果您正在使用这样的编辑器,您有三个选择:

  • 切换到另一个不那么糟糕的编辑器

  • 找到一些方法来运行你最喜欢的编辑器,告诉它表现得更好。大多数编辑器都有一个选项,通常拼写为wwait--wait-w或类似的东西,以使它们在Git中表现良好。3参见,例如,如何修复git commit with atom text editor.

  • 使用git commit,这样它总是有一个准备好的提交消息(git commit -m,git commit -F等)。这可能是最糟糕的方法了。

对于VSCode,具体请参见如何使用Visual Studio Code作为git的默认编辑器?但是请注意VSCode是复杂的,并不是所有的扩展都能很好地运行。这可能就是为什么这个问题有十几个答案的原因。


1运行git var GIT_EDITOR看看你的选择是什么。使用core.editor中的任何一个作为git config设置,或使用$EDITOR$VISUAL$GIT_EDITOR作为环境变量,以更改设置。请参阅git var文档,了解如果提供多个设置,Git如何选择使用哪个设置。

2更准确地说,git commit查看是否提供了"预煮";提交消息,它可以直接使用该消息,而不必调用您选择的编辑器。但是这个问题只有在它使用你的编辑器并等待它的时候才会出现。

3它们的行为实际上对某些gui很好,并且这些编辑器是在编写这些gui时考虑到的。对Git来说是不好的

相关内容

  • 没有找到相关文章