必须设置 user.name 和 user.email 才能提交——Git 本地未配置作者信息导致报错,VSCode 仅调用系统 Git;需运行 git config --global user.name 和 git config --global user.email,并重启 VSCode 验证。

Git 提交时提示 Author identity unknown,不是 VSCode 的问题,是 Git 本地没配好作者信息——必须设 user.name 和 user.email,缺一不可。
为什么 VSCode 提交会报这个错
VSCode 的 Git 集成只是调用系统 Git 命令,它不维护作者身份。一旦你首次提交(git commit),Git 发现 user.name 或 user.email 没设,就直接拒绝并抛出这个错误。常见于新装 Git、重装系统、或用包管理器(如 Homebrew / Scoop)安装后未初始化配置。
注意:GitHub/GitLab 账号邮箱 ≠ Git 本地邮箱;git config --global user.email 设的必须是能被 Git 识别的字符串,哪怕写 me@localhost 也能过,但建议和平台一致,否则提交记录不关联。
怎么快速设全局作者信息(推荐方案)
在终端运行两条命令即可,之后所有仓库都继承该配置:
git config --global user.name "Your Name"git config --global user.email "your.email@example.com"
验证是否生效:git config --global user.name 和 git config --global user.email 应分别输出对应值。如果只设了其中一个,错误仍会出现。
⚠️ 容易踩的坑:--global 写成 --gloabal(拼错)、邮箱里多空格、引号用了中文全角、或者在错误目录下用了 --local 却以为设了全局。
什么时候不该用 --global?
如果你同时维护公司项目和个人开源项目,且需不同邮箱(比如公司邮箱不能对外显示),就不能只靠全局配置:
- 进入公司项目目录,运行:
git config user.email "work@company.com"(不加--global) - 进入个人项目目录,运行:
git config user.email "me@github.io"
此时 git config user.email 查的是当前仓库级配置,优先级高于全局。Git 会按 local → global → system 顺序合并,local 覆盖 global。
性能上无影响,但容易混淆:用 git config --list 会看到重复项,记得加 --show-origin 看来源路径,避免误删。
VSCode 里点提交还是报错?检查这三处
即使配了全局,VSCode 仍可能走错 Git 可执行文件或读不到配置:
- 打开 VSCode 设置,搜
git.path,确认指向的是你配好配置的 Git(比如/usr/bin/git或C:\Program Files\Git\bin\git.exe),而不是 WSL 里的另一个 Git - 在 VSCode 集成终端里运行
which git(macOS/Linux)或where git(Windows),和git config --global user.email是否同环境 - 重启 VSCode —— 它只在启动时读一次 Git 配置,改完不重启,界面里依然报错
有些用户用 VSCode Remote-SSH 连服务器,那得在远程机器上单独配 git config,本地配了没用。
真正麻烦的不是设邮箱,而是 Git 配置分层级又不报具体缺哪一项,错误信息还藏在终端日志里。很多人反复试 user.email 却忘了 user.name 也得有,或者改了配置却没重启编辑器——这些点卡住的时间,往往比敲两行命令长得多。


















