【问题标题】:How can I fix git commit error "Waiting for your editor to close the file..." with VS Code?如何使用 VS Code 修复 git commit 错误“等待您的编辑器关闭文件...”?
【发布时间】:2019-02-11 05:36:21
【问题描述】:

我正在尝试git commit,Git 正在发送此消息:

提示:正在等待您的编辑器关闭文件... /c/Users/AGT/AppData/Local/Programs/Microsoft VS Code/bin/code: 行 28: /Code.exe: No such file or directory error: 有问题 使用编辑器“代码--wait”。请使用任一方式提供消息 -m 或 -F 选项。

我正在使用或尝试使用 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状态是:

    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。

标签: git visual-studio-code git-commit


【解决方案1】:

也许这对某人有帮助

对我来说,我在重新安装后忘记将 vscode 添加到路径

要将文件或文件夹添加到路径,请按以下步骤操作:

搜索变量 => 环境变量 => 路径 => 编辑 => 将完整路径粘贴到文件或文件夹点击浏览并选择路径 => 点击确定并退出。

【讨论】:

    【解决方案2】:

    git config --global core.editor /usr/bin/vim 帮我解决了。

    【讨论】:

    • 在 Mac OS 上收到此消息,您的答案正是我正在寻找的,谢谢 :)
    • 如果你是通过自制软件安装的 vim,它将是 /usr/local/bin/vim。这对我有用。
    【解决方案3】:

    在您的情况下,这似乎与 VS Code 的路径有关,并且可能与设置编辑器 git config --global core.editor "code --wait" 的命令不正确有关。

    就我而言,我无法完成合并命令。

    在确保正确设置 VS Code 之后,真正对我有用的是:

    code --version
    

    工作正常。 执行 代码在哪里 向我展示了代码的安装位置与本地应用程序数据不同的位置,这是 git 正在查看的位置。我还可以告诉我无法真正找到代码,因为在我合并时编辑器没有启动。

    终于执行

    git config --global core.editor 'code --wait'
    

    为我做了诀窍。并不是说它是单引号,正如其中一个 cmets 中进一步建议的那样。

    【讨论】:

      【解决方案4】:

      git commit 更改为git commit -m "Title of your update"

      【讨论】:

      • git commit -m "你的更新标题" -m 代表消息。调用 git commit 时,需要包含一条消息。该消息应该是对正在提交的更改的简短描述。该消息应位于命令的末尾,并且必须用引号“”括起来。虽然 git commit -m "commit message" 工作得很好,但提供更详细和系统的信息会很有用。
      【解决方案5】:

      我在配置 Atom 时遇到了这个错误。

      我通过在执行命令git commit之前在后台打开应用程序解决了这个问题

      您也可以尝试使用$ git commit -m "Initial commit" 它直接传递消息而不等待编辑器打开 注意:您将无法仅添加评论

      【讨论】:

        【解决方案6】:

        任何文件都可以在任何编辑器中打开。 所以运行“ps -ax|grep vim”来检查哪个文件在哪个编辑器中打开。 然后运行 ​​kill id-of-editor 。例如“杀死12345” 就这些

        【讨论】:

          【解决方案7】:

          对于将 Atom 作为 Git 相关内容的默认编辑器的人

          当 Atom 是它的默认代码编辑器时,Atom 和 Visual Studio Code 之间存在某种冲突。在 Visual Studio Code 中打开终端并点击 git config --global core.editor "code --wait" 解决了这个问题。然后每次我在控制台中做某事而不会崩溃时,Visual Studio Code 都会打开一个新选项卡。

          【讨论】:

            【解决方案8】:

            它希望您输入有关您所做的提交的 cmets 输入评论,它应该提交代码。

            【讨论】:

              【解决方案9】:

              将编辑器的名称放在双引号中对我产生了这个错误。将编辑器的名称放在单引号中,例如:

              git config --global core.editor 'vi'

              或者,如果您已经在使用单引号,请尝试切换到双引号。

              【讨论】:

              • 如果编辑器的路径中有空格,则将其放在单引号(内)和双引号(外)中。
              【解决方案10】:

              如果您的 in vs 代码转到左侧的源代码管理选项卡

              然后输入您的评论,按 ctrl 并回车

              如果你做 git status 它应该什么都不说要提交,工作树干净..这意味着它工作了

              【讨论】:

              • code --version 在bash 提示符/c/Program Files/Microsoft VS Code/Code.exe 中输入时:Permission denied 消息来了,有什么解决办法吗?
              【解决方案11】:

              您是否确认可以从执行 git 命令的命令行访问 code

              你可以运行code --version

              顺便说一句。当我执行 where code 我得到 C:\Program Files\Microsoft VS Code\bin\code - 它不再安装在 %App_Data% 文件夹中。 Howerver,如果您只指定code --wait 而没有路径,这应该是无关紧要的。

              换句话说,这是我将尝试的过程:

              1. 确认code --version 在您用于git 的控制台中工作
              2. git config --global core.editor "code --wait"
              3. 更改分支中的内容,然后更改 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 directorywhere 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"
              • 谢谢!这就像一个魅力
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2022-10-13
              • 1970-01-01
              • 2015-04-02
              • 2019-07-31
              • 2022-07-05
              • 2023-03-09
              • 2020-04-27
              相关资源
              最近更新 更多