应选 git bash;它自带 bash、openssh 和 unix 工具,与 vs code 集成最稳定;禁用文件系统缓存以防 ntfs+onedrive 路径下 git status 假死;行结尾选 commit unix-style;安装路径勿含中文或空格;user.name 和 user.email 必须用 --global 全局配置且邮箱需与 github 已验证邮箱一致。

Git for Windows 安装时选哪个选项才不踩坑
默认安装向导里三个终端集成选项(Git Bash、Windows Terminal、MinTTY)容易让人误点,实际开发中绝大多数人只需要 Git Bash —— 它自带 bash 环境、OpenSSH、常见 Unix 工具(grep、sed、curl),且和 VS Code 集成最稳。
避坑重点:
- 不要勾选
Enable file system caching:在某些 NTFS + OneDrive 混合路径下会导致git status假死或延迟数秒 -
Checkout Windows-style, commit Unix-style line endings是安全默认,但若团队用 macOS/Linux 协作,建议改选Commit Unix-style line endings,否则.gitattributes里设* text=auto eol=lf也压不住换行符污染 - 安装路径别含中文或空格:比如
C:\Program Files\Git没问题,但C:\My Tools\Git可能导致某些脚本(如 husky 的 pre-commit)执行失败,报错类似'C:\My' is not recognized as an internal or external command
配置 user.name 和 user.email 为什么必须用 git config --global
这两个值会写进每次 commit 的 author 字段,GitHub / GitLab 页面上显示的提交者就靠它识别。不配或配错,提交记录会显示为 “ghost” 或关联不到你的账号。
实操要点:
- 必须用
git config --global user.name "Your Name"和git config --global user.email "you@example.com",漏掉--global只对当前仓库生效,切项目就丢 - 邮箱必须和 GitHub 账号主邮箱一致(或已验证的备用邮箱),否则提交不会出现在个人贡献图里
- 如果公司要求用企业邮箱,但又想 GitHub 个人页干净,可以单独给工作项目配局部值:
git config user.email "work@company.com"(进到项目目录后执行,不加--global)
SSH 密钥生成失败:ssh-keygen -t ed25519 报错“unknown key type”
这是旧版 Git for Windows(ed25519。不用降级算法,直接升级 Git 或换命令就行。
Git 提交信息生成器。根据代码变更内容自动生成符合 Conventional Commits 规范的提交信息,包含类型、范围、简短描述、详细说明和关联的 Issue/需求号。触发词:生成提交信息、提交信息、commit message、git commit、生成 commit 信息
解决路径:
- 先运行
ssh -V看版本,低于OpenSSH_8.0就大概率有问题 - 升级 Git for Windows 到最新版(官网下载),或改用
ssh-keygen -t rsa -b 4096(兼容性最强) - 生成后务必用
cat ~/.ssh/id_rsa.pub(或id_ed25519.pub)复制内容,别手敲——少一个字符,GitHub 就提示Permission denied (publickey) - 测试连通性用
ssh -T git@github.com,不是git@github.com:xxx/yyy.git,后者是 URL 格式,会报语法错误
VS Code 里 Git 图标不刷新 / 提交按钮灰掉
这通常不是 Git 本身坏了,而是 VS Code 没正确找到 Git 可执行文件,或者工作区启用了错误的 Git 路径。
排查步骤:
- 打开 VS Code 设置,搜
git.path,确认值是C:\Program Files\Git\bin\git.exe(不是cmd\git.exe) - 在 VS Code 终端里运行
which git,输出应为 Git for Windows 的路径;如果显示C:\Windows\System32\git.exe,说明系统 PATH 里混进了 Windows 自带的旧 git(极少见,但某些 Dell/HP 预装软件会塞) - 关掉所有 VS Code 窗口,删掉项目根目录下的
.git/index.lock(如有),再重启——这个锁文件残留会导致状态卡死 - 如果用 WSL2 开发,但 VS Code 装在 Windows 上,默认 Git 扩展会调 Windows 版 Git,想用 WSL 的 Git 得手动配
"git.path": "/home/username/.vscode-server/bin/xxx/git",但多数人没必要这么绕
Windows 上 Git 真正的麻烦点不在安装,而在路径权限、换行符、SSH 代理转发这些隐性链路。配完别急着写代码,先 git clone 一个公开小仓库,跑一遍 add → commit → push,再看 GitHub 上 commit 是否带绿色 verified 标签——这才是闭环验证。










