VS Code执行Git提交时打开COMMIT_EDITMSG无响应如何解决?
VS Code Git提交卡COMMIT_EDITMSG、面板持续加载解决方案
问题原因
该现象不是程序故障,是VS Code更新后默认开启了「使用编辑器作为提交信息输入载体」的配置,点击提交按钮后Git会等待你在COMMIT_EDITMSG文件中完成提交信息填写、保存并关闭文件后,才会继续执行提交流程,因此会出现面板一直加载、无进展的表现。
异常触发时自动打开的COMMIT_EDITMSG是Git默认生成的提交信息模板,内容如下:
# Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch master # Your branch is up to date with 'origin/master'. # # Changes to be committed: # modified: pages/support-topics.vue #
所有以#开头的行都是注释提示,不会被计入提交信息。
解决方法
临时完成当前提交
- 在自动打开的
COMMIT_EDITMSG文件最顶部(所有#开头的注释行之前)输入提交说明即可,不需要手动删除注释内容 - 按快捷键保存文件:Windows/Linux 用
Ctrl+S,macOS 用Cmd+S - 关闭
COMMIT_EDITMSG文件标签页,等待1-2秒提交流程就会自动完成
永久恢复原有提交体验(点击按钮直接弹出输入框)
可视化设置操作
- 打开VS Code设置面板:Windows/Linux 按
Ctrl+,,macOS 按Cmd+, - 在顶部搜索框输入
git.useEditorAsCommitInput - 取消对应选项的勾选状态,设置会自动保存生效
配置文件修改操作
- 打开命令面板:Windows/Linux 按
Ctrl+Shift+P,macOS 按Cmd+Shift+P - 输入
Preferences: Open User Settings (JSON)后回车,打开用户配置文件 - 在配置的JSON对象中添加如下配置项:
"git.useEditorAsCommitInput": false
- 保存配置文件,重启VS Code后生效
特殊情况排查
如果按上述操作后提交依然卡住,大概率是项目配置的Git提交钩子(比如husky、lint-staged)执行出错导致流程阻塞,打开VS Code内置终端手动执行git commit命令,就能看到具体的报错信息,对应修复问题即可。
内容的提问来源于stack exchange,提问作者eaidy
相关产品推荐
相关产品推荐

