How can I fix git commit error "Waiting for your editor to close the file..." with VS Code?
我正在尝试 git commit 并且 Git 正在给出以下消息:
hint: Waiting for your editor to close the file...
/c/Users/AGT/AppData/Local/Programs/Microsoft VS Code/bin/code: line
28: /Code.exe: No such file or directory error: There was a problem
with the editor 'code --wait'. Please supply the message using either
-m or -F option.
我正在使用或尝试使用 VS Code 作为默认设置,并且在打开或关闭它时我收到了相同的消息。通过 VS Code 或命令 git commit -m"Initial commit" 完成的提交工作正常。
我尝试使用以下命令更改配置路径:
-
git config --global core.editor"code --wait"
-
git config --global core.editor
"'C:\\Users\\AGT\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe' -n
-w" 和随后的变体(在错误消息"查找匹配时出现意外 EOF"时发生了这种变化):
-
C:\\\\\\\\Users\\\\\\\\AGT\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Programs\\\\\\\\Microsoft VS Code\\\\\\\\bin
-
C:\\\\\\\\Users\\\\\\\\AGT\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Programs\\\\\\\\Microsoft VS Code\\\\\\\\bin\\\\\\\\code
-
C:\\\\\\\\Users\\\\\\\\AGT\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Programs\\\\\\\\Microsoft VS Code\\\\\\\\Code.exe
根本没有成功。
git状态为:
1 2 3 4 5 6 7 8 9 10
| On branch master
No commits yet
Changes to be committed:
(use"git rm --cached <file>..." to unstage)
new file: css/app.css
new file: index.html
new file: js/app.js |
如何通过 Git BASH 将其修复为 git commit 命令与 Vs Code 一起正常工作?这似乎是路径问题。
更新信息:我用 Sublime 3 测试了 git commit,它工作正常。
- 进展如何?您是否尝试过以下答案中的步骤?
-
在使用 neovim 作为默认编辑器时,我收到了类似的消息。
-
事实上,我有一个更普遍的问题:neovim 进程在保存文件时会在退出时挂起。这个问题似乎是由于gutentags插件造成的。因此,如果您到达这里是因为在编辑提交消息后退出 neovim 时收到 Waiting for your editor to close the file… 消息,您可以尝试删除gutentags。
你确认 code 可以从你执行 git 命令的命令行访问吗?
你可以运行 code --version
顺便说一句。当我执行 where code 我得到 C:\\Program Files\\Microsoft VS Code\\bin\\code - 它不再安装在 %App_Data% 文件夹中。但是,如果您只指定 code --wait 而没有路径,这应该是无关紧要的。
换句话说,这是我将尝试的过程:
确认 code --version 在您用于 git 的控制台中工作
git config --global core.editor"code --wait"
更改分支中的内容,然后更改 git commit。 VS Code 是否启动并显示 COMMIT_EDITMSG 文件?
- 您好 tymtam,感谢您的关注。我仍然收到我的问题的第一条错误消息。 VS Code 并没有从你的照片开始。我得到了你推荐的东西:code --version /c/Users/AGT/AppData/Local/Programs/Microsoft VS Code/bin/code: line 28: /Code.exe: No such file or directory $ where code C:\\Users\\AGT\\AppData\\Local\\Programs\\Microsoft VS Code\\bin\\code C:\\Users\\AGT\\AppData\\Local\\Programs\\Microsoft VS Code\\bin\\code.cmd
-
当我在寻找类似的问题时,我读到了 VS Code 不再安装在 App 文件夹中,尽管当我尝试重新安装它时,默认文件夹是 App。我尝试在 Program Files 重新安装,但我得到了同样的错误,唯一的区别是路径改变了。 code --version /c/Program Files/Microsoft VS Code/bin/code: line 28: /Code.exe: No such file or directory where code C:\\Program Files\\Microsoft VS Code\\bin\\code C:\\Program Files\\Microsoft VS Code\\bin\\code.cmd
-
你需要在你的路径周围加上引号,你很好:)
-
非常感谢,你说得对,我刚刚再次尝试密切关注引号,它的工作原理。很奇怪,因为我虽然做了与我在问题中所说的相同的带引号的命令,但它不起作用。 git config --global core.editor"'C:\\Users\\AGT\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe' -n -w"
-
谢谢!这就像一个魅力
n
-
如果编辑器的路径中有空格,请将其放在单引号(内)和双引号(外)中。
n
-
在 Mac OS 上收到此消息,您的答案就是我正在寻找的,谢谢 :)
-
如果您通过自制软件安装 vim,它将是 /usr/local/bin/vim。这对我有用。
n
n
如果您的 in vs 代码转到左侧的源代码管理选项卡
然后输入您的评论,按 ctrl
-
当 code --version 在 bash 提示符 /c/Program Files/Microsoft VS Code/Code.exe: Permission denied 消息中输入时,有什么解决方案吗?
n
n
n
n
n
-
git commit -m "Title of your update" -m 代表消息。调用 git commit 时,需要包含一条消息。该消息应该是对正在提交的更改的简短描述。该消息应位于命令的末尾,并且必须用引号 " " 括起来。尽管 git commit -m "commit message" 工作得很好,但它可以提供更详细和系统的信息。