Git安装后必做配置:环境变量、SSH密钥与常见问题排查 2. 环境配置装完还要做的几件小事很多人装完 Git 就急着去 clone 仓库结果各种怪问题一个接一个。别急安装向导点完只是第一步后面这几分钟配置决定了你后面几个月的使用体验。2.1 验证安装与环境变量是否就位安装完成后先验证一下 Git 是否真的可用。按下Win R输入cmd回车在命令行里执行git --version正常情况下你会看到类似git version 2.48.1.windows.1的输出具体版本号以你安装时下载的为准。如果提示“不是内部或外部命令”说明环境变量没配好。提示Git for Windows 的安装程序默认会在安装时写入环境变量Path一般不需要手动添加。如果你用的是绿色版、便携版或者安装时取消了相关选项才需要手动配置。手动配置路径是右键“此电脑”→“属性”→“高级系统设置”→“环境变量”→“系统变量”中的Path把 Git 的cmd目录加进去。环境变量这块我多说一句Git 安装目录下的cmd里有个git.exe命令行能直接调用 git 靠的就是这个目录而usr/bin目录下有一堆 Linux 常用命令比如ls、cat、grepGit Bash 能模拟 Linux 终端靠的就是它们。如果你以后在 Windows 命令行里想用ls这种命令可以把usr/bin也加进 Path但注意它和 Windows 原生命令可能有冲突建议默认不折腾。用where git命令可以查看当前命令行用的是哪个路径下的 Git有时候电脑上装了多版本 Git这个命令能帮你排查版本混乱的问题。2.2 全局配置让你的提交带上正确身份这一步是新手最容易跳过的但也是最重要的。Git 的每一次提交都会记录作者是谁如果你没配置用户信息提交时会报错或者被强制要求你每台机器手动输入一次。打开终端执行git config --global user.name 你的名字 git config --global user.email 你的邮箱example.com这里我强烈建议把邮箱填成你在 GitHub或 Gitee、GitLab 等注册时使用的邮箱。很多代码托管平台会把提交邮箱和账号关联如果你用不同邮箱提交平台上的贡献图会不连续看起来像两个人干活。查看当前已有的全局配置用git config --global --list如果只是想改某一条配置直接重新执行上面的命令即可覆盖。改完想确认生效了执行git config user.name单独查看某个配置项。2.3 换行符、编码与代理三个容易埋坑的细节这三个细节看着不起眼实际踩坑概率极高被问到的次数仅次于 SSH 连不上。换行符问题CRLF vs LFWindows 上的文本文件默认用CRLF回车换行结尾而 Linux/macOS 默认用LF仅换行结尾。Git 默认在提交时会把CRLF转换成LF检出时再转回CRLF这个行为由core.autocrlf控制。安装向导里默认选的是“Checkout Windows-style, commit Unix-style line endings”也就是core.autocrlftrue。如果你主要在 Windows 上开发这个默认值可以保留。如果你在写脚本、配置文件比如.sh脚本建议在项目根目录放一个.gitattributes文件强制指定换行符规则避免跨平台协作时脚本因为换行符问题执行失败。编码问题Windows 的命令行默认编码是 GBK中文版系统而 Git 输出的很多信息是 UTF-8。这就导致终端里经常出现中文乱码。可以在 Git Bash 里执行以下命令改善git config --global core.quotepath falsecore.quotepath设为 false 后中文文件名和路径在git status、git log中能正常显示而不是显示成\345\274\240这种八进制转义序列。代理/JIT 问题如果你所在网络环境访问 GitHub 不太顺畅很多开发者会遇到有两个常见缓解思路一是给 Git 配置一个代理地址但请注意这部分设计网络访问策略我建议先从更换镜像源入手比如国内用户可以使用 Gitee 镜像仓库或者使用 GitHub 的官方镜像加速站点二是直接把远端地址替换成 HTTPS 方式https://github.com/xxx/xxx.git走 HTTPS 协议往往比 SSH 在部分网络下更稳定。这个后面讲 SSH 密钥时会继续聊。3. SSH 密钥从生成到配置的完整链路3.1 为什么推荐用 SSH 而不是 HTTPS克隆远程仓库有两种常见方式HTTPS 和 SSH。HTTPS 方式操作简单但每次 push 时都要输入用户名和密码或者个人访问令牌。虽然 Windows 凭据管理器可以记住密码但在多设备、多账号场景下依然很麻烦。SSH 方式的核心是一次配置、永久免密。你把公钥放到代码托管平台上本地生成的私钥留着push/pull 时 Git 通过 SSH 协议完成身份认证不需要每天输入密码。更重要的是很多企业内部的 GitLab、公司的代码服务器只开放 SSH 端口你迟早要学这个。3.2 生成密钥与多密钥管理这一步网上教程五花八门我给出一套在 2026 年依然最通用的做法。打开 Git Bash安装 Git 后自带比 CMD 更推荐执行ssh-keygen -t ed25519 -C 你的邮箱example.com-t ed25519指定密钥类型为 ED25519比传统的 RSA 更安全、更短GitHub 等主流平台早已支持。如果你的 Git 版本比较老2020 年之前的可以考虑用 RSA 4096ssh-keygen -t rsa -b 4096 -C 你的邮箱example.com回车后会问你要保存的位置默认是C:\Users\你的用户名\.ssh\id_ed25519直接回车接着会问你是否设置 passphrase私钥密码建议设置一个这样即使私钥文件泄露别人没有密码也拿不到它。如果你追求便利性也可以直接回车留空。生成完成后进入.ssh目录看看文件ls -la ~/.ssh里面会有id_ed25519私钥和id_ed25519.pub公钥。私钥千万别泄露、别上传到代码仓库公钥可以随便给。如果你在多台电脑上工作或者有多个平台的账号比如一个 GitHub、一个 GitLab、一个公司 Git就需要配置多密钥管理。在.ssh目录下新建一个config文件没有扩展名内容参考# GitHub Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519_github # GitLab Host gitlab.com HostName gitlab.com User git IdentityFile ~/.ssh/id_ed25519_gitlab # 公司 Git 服务器 Host mycompany HostName 192.168.1.100 User git IdentityFile ~/.ssh/id_ed25519_company这样一来当你 clone 公司的仓库时可以直接git clone gitmycompany:team/project.gitGit 会根据Host自动选择对应的私钥。3.3 配置 config 文件与远端平台添加公钥生成密钥后公钥内容用下面的命令查看cat ~/.ssh/id_ed25519.pub看到类似ssh-ed25519 AAAA...开头的一长串字符串复制它。以 GitHub 为例登录 GitHub → 右上角头像 → Settings → SSH and GPG keys → New SSH key把公钥粘贴进去保存。Gitee、GitLab 的入口也类似基本都在“设置”→“SSH 公钥”这个位置。配置完成后验证一下能否正常连接ssh -T gitgithub.com如果输出Hi 你的用户名! Youve successfully authenticated...说明 SSH 密钥配置成功。这里有个细节第一次连接时会提示确认主机指纹authenticity of host输入yes回车即可。4. 常见问题与排查技巧实录这部分内容是我在平时帮助读者解决问题时积累的实战记录每一条都值得收藏。4.1 第一次提交身份不明报错信息Author identity unknown或者Please tell me who you are。原因很简单没配user.name和user.email。回到 2.2 节执行那两条命令。提交前可以用git config user.name确认一下。如果把邮箱写错了GitHub 的贡献图上会少一块绿色。这时候可以改提交历史里的作者信息但非常麻烦所以配置时一定要再三确认邮箱。4.2 克隆时连接失败典型报错fatal: unable to access https://github.com/xxx/xxx.git/: Failed to connect to github.com port 443: Timed out这种情况先排查网络。在终端执行ping github.com看基础网络通不通。如果网络正常但 git 超时可以试试改用 SSH 方式克隆前提是已配置 SSH 密钥把仓库地址里的https://改成git。此外国内用户最常见的做法是换镜像源克隆或者使用 Gitee 上的同步仓库这个看你的实际网络环境没有统一答案怎么方便怎么来。如果是公司内网环境可能需要在 Git 里设置代理但涉及具体代理工具的部分我不展开你按照公司 IT 提供的方案配置即可。4.3 换行符警告、分支名变化与其他小坑换行符警告在 Windows 上提交时Git 有时会提示warning: LF will be replaced by CRLF。这通常是正常现象如果项目里没有强制换行符规则可以忽略。如果不想看到这类警告可以用.gitattributes统一规则。分支名从 master 变成 main近两年的新仓库默认分支名基本都是main老教程里的master已经过时。添加远程仓库时留意一下clone 下来的默认分支名以仓库实际为准。如果想沿用旧习惯可以执行git branch -m master main重命名。文件路径太长报错Windows 的默认路径长度限制为 260 个字符npm 打包、前端项目的node_modules目录尤其容易触发。解决方案是开启 Git 的长路径支持。如果你在安装时选了“Enable symbolic links”下方的“Enable long paths”或者手动执行git config --global core.longpaths true大小写不敏感导致的混乱Windows 文件系统默认不区分文件名大小写但 Git 会区分。如果你把App.js改成app.js在 Windows 上 Git 可能识别不到变化。建议在项目根目录执行git config core.ignorecase false至少让 Git 明白你在改文件名。4.4 进阶技巧关联 VS Code 与了解常用命令装完 Git 后很多人的下一步是配合 VS Code 使用。VS Code 自带终端默认可以用 Git Bash 作为终端 shell。在 VS Code 里按 Ctrl 打开终端点击终端右上角下拉箭头选择 Git Bash 即可。VS Code 的源代码管理面板会自动识别 Git 仓库提交、推送、拉取都有可视化按钮新手可以直接点按钮但掌握几个核心命令依然有必要。我把日常使用频率最高的 Git 命令整理成速查表操作场景命令说明克隆远程仓库git clone 仓库地址HTTPS 或 SSH 地址均可查看文件状态git status看哪些文件被修改/暂存暂存文件git add .或git add 文件名.表示全部暂存提交git commit -m 提交说明提交消息要写清楚做了什么推送远程git push origin 分支名第一次推送记得加-u拉取远程更新git pull相当于 fetch merge查看提交历史git log --oneline --graph图形化展示历史创建并切换分支git checkout -b 分支名2026 年推荐用git switch -c合并分支git merge 分支名当前分支合并目标分支5. 写在最后的实操建议按照我上面这套流程走下来从下载安装到 SSH 密钥配置全部完成大概只需要 15 分钟。很多人卡在中间某一步多半是安装向导选项选错或者 SSH 公钥没复制完整这两处最容易出问题。我个人在实际操作中有一个小习惯生成 SSH 密钥后会把公钥内容同时保存一份在密码管理器里换电脑时直接粘贴不用重新生成私钥则用加密压缩包备份到移动硬盘这样密码忘记了、文件丢失了都有后路。另外.ssh目录权限在 Windows 上一般不敏感但如果用 WSL 远程连接目录权限太宽松会直接导致 SSH 拒绝使用你的密钥这是 Linux 系环境里最常见的坑。最后再分享一个实战技巧如果你平时在 VS Code 里写代码装一个 GitLens 扩展看历史提交、对比代码变更会方便非常多而配合 Git Graph 扩展则能在编辑器里直接用图形化界面查看分支合并情况。Git 本身是命令行工具但把命令行和可视化工具结合起来用效率提升是翻倍的。