2026/9/16 14:10:48

Windows上Git安装与配置完全指南:从环境变量到SSH密钥绑定

Windows上Git安装与配置完全指南:从环境变量到SSH密钥绑定 1. 写在前面Windows上装Git到底会卡在哪Windows 上装 Git听起来是双击 next 到底就完事的事情但真正把整套流程走完的人其实不多。下载下载不全、PATH 没配上、命令敲不了、SSH 密钥讲不清楚每一步都能把人卡住。尤其是新买的电脑第一次配开发环境装完 Git 以为自己搞定了结果打开 GitHub 想克隆一个仓库又卡在认证上那种挫败感我见得太多了。这篇文章不搞虚的从下载安装包开始逐项拆解安装向导里每个选项的含义和取舍再讲环境变量、全局配置、SSH 密钥的生成与多平台绑定最后附上我日常工作中高频命令速查表和排错清单。无论你是第一次装 Git 的纯新手还是装了好几次但总在密钥和克隆上传上出问题的老手这套流程都可以直接照着抄。整篇教程基于最新版的 Git for Windows写这篇的时候官方发布渠道已经稳定在 2.5x 系列安装界面和选项在细节上可能随小版本微调但核心选项完全一致。你下载到什么版本都不影响操作方法通用。1.1 为什么资料很多你还是装不好我在做开发工具答疑的时候见过太多类似场景照着网上的图文教程一路 next结果打开命令行敲git --version直接提示不是内部或外部命令还有人卡在git push时控制台弹出授权窗口密码输了好几遍还是失败再就是换了新电脑旧电脑的 SSH 密钥没备份远程仓库死活连不上。这些问题归根到底有几个原因。第一很多教程是某个版本的快照Git for Windows 更新很快旧截图和现在的安装界面已经对不上号。第二教程只给步骤不给原理选项该勾不该勾全靠猜理解不深入一旦出问题就懵。第三Windows 环境差异大杀毒软件策略、用户目录权限、系统本身是否启用了 Windows OpenSSH这些都会影响最终效果。所以这套教程我沿用一个思路每个关键选项都解释清楚选这个而不选那个的原因每个环节给出验证方法。你也别急着跳过通读一遍再动手其实花不了多少时间但后面能帮你省下大把排查的功夫。1.2 这篇教程的路线图先说路线下载安装包 → 安装重点解读每个选项→ 环境变量与全局配置 → SSH 密钥生成与绑定 → 高频命令与问题排查。这是我在新电脑上每次都要走一遍的完整流程也应该是你从零配置一套 Windows 开发环境的基本顺序。适合谁来看第一次在 Windows 上装 Git 的新手照着顺序操作基本不会出大问题已经装过 Git 但不懂配置含义的老手可以重点看第 4、5 章里面有不少命令是我这些年实际用下来沉淀出来的做远程开发的第 5 章的 Remote-SSH 部分以及 config 多账号管理建议反复看两遍。另外说明一下整篇涉及的命令我在 Windows 10 和 Windows 11 上都实测过Git Bash、PowerShell、CMD 三种环境下都能跑通。个别路径写法在不同版本的 Windows 上略有差异我会在后面提到。2. 下载Git安装包官网和国内镜像怎么选2.1 官网下载的正确姿势Git 官网是 git-scm.comWindows 版本下载页会自动识别操作系统并推荐 64 位安装包下载文件的命名类似Git-2.5x.x-64-bit.exe。打开 Downloads → Windows看到64-bit Git for Windows Setup点击即可。官网的好处是永远第一时间拿到最新版页面也不会夹带广告。但直链在某些网络环境下下载速度不一定理想下载到一半断掉也很常见。遇到这种情况不用硬扛直接换国内镜像站下载同一个文件安装包文件本身没有任何区别。这里有一个判断方法官网下载页会显示当前最新版本号和上传日期你可以拿这个版本号去镜像站比对确保自己下载的是同一个版本。如果镜像站的版本号比官网低一两个小版本问题也不大Git 的小版本更新通常不影响基本功能但对于刚入门的用户我建议尽量和官网保持一致。2.2 国内镜像站与版本选择国内几个主流镜像站都同步维护了 Git for Windows 的安装包速度和稳定性都足够日常使用。渠道说明适合场景官网 git-scm.com最新最全自动识别版本网络条件好追求最新版清华 TUNA 镜像开源软件镜像更新及时校园网、教育网环境阿里、腾讯、华为云镜像云厂商软件源全国节点多家庭宽带、办公网络下载进入镜像站后路径一般类似/git-for-windows/里面按版本号分目录每个目录下有 32 位、64 位的安装包和 Portable 版压缩包。找-64-bit.exe结尾的文件下载就行。版本选择上我只有一个建议别追 preview 版本别用 32 位安装包。除非你的 Windows 系统本身就是 32 位的老电脑否则一律选 64 位。preview 是预览版可能存在尚未修复的问题日常开发没必要冒险。2.3 安装器选 Standard 还是 PortableGit for Windows 官方给 Windows 用户提供两种形态标准安装器Setup和便携版Portable。标准安装器会把 Git 注册进系统包含右键菜单、PATH 环境变量、凭据管理器等一整套集成功能这也是绝大多数人应该选的。Portable 版是一个压缩包解压就能用适合放在 U 盘里临时应急但它默认不参与系统集成PATH、右键菜单、凭据存储都得手动弄成本比你想象的高。所以我的结论很直接新手一律用标准安装器Portable 版等你有明确的绿色软件需求时再研究。3. 安装全程拆解每一步为什么这么选3.1 安装前的准备工作下载完安装包先别急着双击。我建议你做三件事。第一如果你电脑上装过旧版 Git先确认它是否还能正常卸载干净。Git for Windows 支持直接覆盖安装但如果你之前装过某个预览版或者修改过安装路径最好在控制面板的程序和功能里先卸载一次免得残留配置影响新版本。第二临时关闭杀毒软件的实时防护或者至少在安装过程中留意拦截弹窗。Git 的安装包需要往Program Files和用户目录写入大量文件部分杀毒软件对 Git 的 bash.exe、ssh.exe 会有误报导致安装进度卡住或文件被隔离。装完恢复防护即可这一步只是常规的安装期操作。第三右键安装包选择以管理员身份运行。虽然 Git 安装不强制管理员权限但管理员权限能避免 UAC 弹窗在安装过程中反复打断也能确保写入Program Files时权限足够。3.2 安装向导的每个关键选项挨个说清楚进入到安装向导后绝大多数选项保持默认没问题但有几个地方值得花二十秒理解一下因为它们直接影响你后面的使用体验。Select Components选择组件这个界面里Additional icons是桌面图标可留可不留。重点在Windows Explorer integration里的两个选项Git Bash Here和Git GUI Here。这两个强烈建议勾选。装了之后你在任意文件夹的空白处点右键菜单里就有Git Bash Here直接打开一个当前路径的 Git Bash 窗口省去cd的功夫。日常操作效率差太多了。下面的 Associate .git* configuration files with the default text editor 和 Associate .sh files to be run with Bash 保持默认就行。前者让.gitconfig这类配置默认用文本编辑器打开后者让.sh脚本默认交给 Bash 解释。Select Start Menu Folder开始菜单目录保持默认不用动。它只在开始菜单里创建快捷方式不影响任何功能。Selecting the Default Editor默认编辑器默认是 Vim。对新手来说Vim 最大的问题是误入编辑器界面后不知道怎么退出。你执行git commit没带-m参数时会弹出一个编辑器让你写提交说明Vim 环境下新手经常卡在不知道怎么保存退出。建议直接选 Visual Studio Code前提是你电脑上装了 VS Code如果没装选 Notepad 也行。这个选择不是随便定的。编辑器是你提交代码时频繁打交道的地方选一个熟悉顺手的比硬着头皮学 Vim 要实用得多。当然等以后你主动想学 Vim 了再用git config --global core.editor vim改回来也不迟。Adjusting your PATH environmentPATH 配置这一步是整个安装过程中最重要的一个选项三个单选分别对应不同的 Git 使用范围。第一项 Git from the command line and also from 3rd-party software推荐。这样 Git 不仅能在 Git Bash 里用在 CMD、PowerShell以及 VS Code 自带终端里都能直接敲git命令。第二项 Git from the command line and also from 3rd-party software 其实是第一项的文字说明不这里要注意真正的第二项是 Use Git from Git Bash only第三项是 Use Git and optional tools from the Command Prompt。我实际安装时会选第一项。第二项意味着只有 Git Bash 里能用 gitCMD 和 PowerShell 里敲git会提示找不到命令对现在很多在 VS Code 集成终端里写代码的人来说会很别扭。第三项会把 Git 附带的一堆 Unix 工具find、sort、cut 等也塞进 PATH与 Windows 系统自带的同名命令容易冲突不建议勾选。Choosing the SSH executable选择 SSH 客户端新版本安装向导会有这一步Use bundled OpenSSH还是Use external OpenSSH。保持默认的 bundled OpenSSH 就行。Git for Windows 自己打包了一个 OpenSSH 客户端和 Git 的集成度最好。如果选择系统的外部 OpenSSH版本和配置可能跟 Git 期望的不一致反而增加排错成本。Choosing HTTPS transport backendHTTPS 传输后端这里两个选项OpenSSL 和 Windows Secure Channel。默认 OpenSSL保持默认即可。Secure Channel 是 Windows 原生安全通道针对企业内网自签名证书有特殊处理OpenSSL 更通用对绝大多数开发者来说不用在这上面纠结。Configuring the line ending conversions换行符转换这一步对跨平台协作影响很大。三个选项分别是第一项Checkout Windows-style, commit Unix-style line endings默认。检出代码时行尾转成 CRLFWindows 换行提交时转回 LFUnix 换行。适合团队全员 Windows。第二项Checkout as-is, commit Unix-style line endings工作区保持原样提交时统一转 LF。第三项Checkout as-is, commit as-is完全不转换。我的建议是个人学习、团队全 Windows 的用默认第一项就行。如果你要和 macOS、Linux 同事协作同一个仓库尤其是仓库里有 shell 脚本的我更推荐第三项Checkout as-is, commit as-is然后让全团队统一用这个配置。原因很简单自动换行转换虽然初衷好但在 diff 对比、脚本执行时经常带来莫名其妙的坑。CRLF 的 shell 脚本在 Linux 上执行会直接报\r错误这类问题排查起来非常磨人。Configuring the terminal emulator终端模拟器默认Use MinTTY保持默认。MinTTY 是 Git Bash 使用的终端模拟器复制粘贴、窗口缩放、中文显示都更顺手。Windows 自带的控制台窗口旧版 conhost在某些场景下对 ANSI 颜色支持不太好用户体验差一截。新版 Windows Terminal 做得不错但 Git Bash 与 MinTTY 的搭配仍然是最稳的。Choose the default behavior of git pullgit pull 的默认行为默认第一项Default (fast-forward or merge)。保持默认等以后你能分清 merge 和 rebase 的区别再在git config --global pull.rebase false/true里改不迟。对新手来说默认行为最容易理解也最不容易出意外。Choose a credential helper凭据管理器默认 Git Credential Manager保持勾选。这个组件的作用是管理 HTTPS 方式的账号密码第一次访问 GitHub 等平台时它弹出浏览器让你登录授权之后就不再反复要密码了。如果你把它选成 None那么走 HTTPS 协议的每次 push/pull 都要手动输入账号密码非常痛苦。所以这里千万别手抖。Configuring extra options附加选项Enable file system caching默认勾选保持默认。Enable symbolic links建议不要动Windows 下的符号链接需要开发者模式权限普通场景用不上。实验性选项更是一律不勾。3.3 安装完成后的第一轮验证安装到最后一步勾选 Launch Git Bash 然后 Finish会弹出一个 Git Bash 窗口。先敲git --version正常会输出版本号比如git version 2.5x.x.windows.1。然后关掉 Git Bash打开 CMD 或 PowerShell再敲一次git --version。这一步的目的是确认 Git 能被所有常用终端识别。如果 CMD 里提示不是内部或外部命令说明 PATH 没生效回到下文第 4.1 节检查环境变量。绝大多数人的问题都出在这里装是装上了但只在 Git Bash 里能用出了门就废。4. 环境变量与全局配置装完别急着走4.1 PATH 环境变量的检查与手动修复安装时如果选了Git from the command line and also from 3rd-party software安装程序会自动把C:\Program Files\Git\cmd写进系统的 PATH 环境变量。正常情况下安装完重开一个终端git命令就能用了。如果你发现 CMD 或 PowerShell 里还是找不到 git点开始搜索环境变量进入编辑系统环境变量→环境变量→ 在系统变量里找到Path双击编辑把C:\Program Files\Git\cmd加进去如果 Git 装在其他盘就填你实际的安装路径。修改完环境变量务必把终端窗口全部关掉重新打开。环境变量是在进程启动时读取的不重开终端的话新配置不会生效。这个细节很多新手不知道改完发现还是不行以为没改对其实只是没重启终端。4.2 必须先做的全局用户信息设置安装完 Git 第一件事设置用户名和邮箱。Git 的每次提交commit都会记录这两个信息不设置的话提交时 Git 会报错或者在提交记录里留下错误的作者信息。打开 Git Bash执行git config --global user.name 你的名字 git config --global user.email 你的邮箱邮箱建议和你注册 GitHub、Gitee 等平台的邮箱保持一致否则提交记录在平台上无法正确关联到你的账号。如果你在 GitHub 设置过隐私邮箱用 GitHub 提供的用户名users.noreply.github.com也可以。用git config --list可以查看当前所有的 Git 配置。注意命令里区分了 system、global、local 三个层级--global只影响当前用户--local只影响当前仓库system 影响整台机器。后面的全局配置我们在用户级做仓库级配置留给具体项目。4.3 让你少踩坑的几个全局配置user.name 和 user.email 只是起点还有几个全局配置我建议你现在就顺手设上能省掉后面一堆麻烦。git config --global core.autocrlf true git config --global core.quotepath false git config --global init.defaultBranch main git config --global push.autoSetupRemote true git config --global alias.lg log --oneline --graph --all --decoratecore.autocrlf的值要和你安装时选的换行符选项对应。装的时候选的第一项对应true选的第三项对应false。这块如果没把握就别来回改保持安装时的设置即可。core.quotepath false是重点。默认情况下Git 在显示中文文件名时会转义成\346\226\260\345\273\272这种八进制序列因为 Windows 下中文路径太多太常见了不关掉这个选项git status看到的全是乱码。把core.quotepath设为false中文就能正常显示。之前有同学在使用 SourceTree 或 VS Code 时看到命令里有-c core.quotepathfalse原理就是通过参数临时关掉同样的转义。push.autoSetupRemote true是 Git 2.37 之后才有的配置。默认情况下你在本地新建一个分支第一次 push 时要用git push -u origin branchname指定上游。设了这个配置后直接git push就能自动创建远程分支对我这种经常开分支的人非常友好。给git log起个别名是个人习惯执行完上面那句后敲git lg就能看一个带图形、带颜色、带全分支的提交历史比默认的 log 输出直观太多。类似的别名你还可以自己加比如git config --global alias.st status。4.4 Git Bash 的个性化小设置Git Bash 本质上是一个运行在 Windows 上的类 Unix 环境配置文件在用户目录下的.bashrc和.bash_profile。用编辑器打开C:\Users\你的用户名\.bashrc可以加一些自己的习惯配置。比如我常用的alias llls -al alias gsgit status alias gpgit push alias glgit pullGit Bash 默认已经带了ls命令但ll这个 Linux 下常见的别名未必有加上之后体验会顺很多。改完.bashrc执行source ~/.bashrc或者直接重开一个 Git Bash 窗口生效。还有个小细节Git Bash 的默认配色和字体可以在窗口标题栏右键 → Options 里调整。我习惯把 Text 字体设成 Consolas字号 14看代码不累眼睛。这个属于纯个人偏好看你自己。5. SSH密钥从生成到绑定远端一步不落5.1 为什么推荐 SSH 而不是 HTTPSGit 操作远程仓库有两种协议HTTPS 和 SSH。HTTPS 简单但每次 push 都要把凭据交给 Git Credential Manager虽然不用反复输密码但认证过程偶尔会弹出奇怪的窗口尤其是在公司网络或换了电脑之后。SSH 则是用一对密钥来认证公钥放到 GitHub、Gitee、GitLab 这样的代码托管平台私钥留在本地push/pull 时 Git 用私钥证明你是你。这个机制可以理解成一把锁配一把钥匙。公钥是锁你可以随便发给别人挂在平台上就是告诉平台这把锁认这把钥匙私钥是钥匙必须锁在自己手里绝对不能泄露、不能发给别人、不能传到公共仓库里。如果私钥泄露任何人拿到它都能以你的身份操作有权限的仓库所以私钥文件要像保护银行卡密码一样保护好。对于日常开发SSH 的好处是配置好之后完全免密省去 HTTPS 认证的各类麻烦。代价是最初多花十分钟配密钥但这是一次性的投入长期收益非常明显。5.2 生成 SSH 密钥ed25519 还是 RSA在 Git Bash 里执行ssh-keygen -t ed25519 -C 你的邮箱-t ed25519指定使用 ed25519 算法-C是注释通常是邮箱方便你在平台后台认出这把钥匙是哪个设备的。按回车后它会问你要把密钥保存在哪里默认是C:\Users\你的用户名\.ssh\id_ed25519直接回车用默认路径。接着问是否设置 passphrase密码短语可以留空直接回车也可以设一个。如果你设了 passphrase以后每次用这把钥匙时都要输入一次但配合 ssh-agent 可以只输一次。我建议至少设一个尤其笔记本电脑容易丢没有 passphrase 的私钥文件一旦泄露就完了。为什么不推荐 RSARSA 的安全性没问题GitHub、Gitee 都支持但 ed25519 的密钥生成速度快、长度短、签名安全性更好是当前主流推荐。只有在连接一些老旧服务器服务端 OpenSSH 版本过低不支持 ed25519 时才需要改用ssh-keygen -t rsa -b 4096 -C 你的邮箱生成完成后进入~/.ssh目录会看到两个文件id_ed25519是私钥id_ed25519.pub是公钥。你可以用cat ~/.ssh/id_ed25519.pub查看公钥内容后面绑定平台要用。这里有个 Windows 特有的坑如果你在 PowerShell 里用 Windows 自带的 OpenSSH 生成过密钥再用 Git 的 ssh.exe 访问有时候会遇到算法或权限方面的报警。我的建议是从头到尾统一用 Git Bash 生成的密钥并且在 Git 环境里始终用 Git 自带的 OpenSSH。如果某些外部工具调用了C:\Windows\System32\OpenSSH\ssh.exe出奇怪问题的时候可以给系统环境变量添加GIT_SSH指向C:\Program Files\Git\usr\bin\ssh.exe强制 Git 使用自带 SSH。5.3 公钥绑定到 GitHub / Gitee / GitLab公钥内容复制好之后去代码托管平台的后台绑定。GitHub 的路径右上角头像 → Settings → 左侧 SSH and GPG keys → New SSH key。Title 填一个你能认出来的描述比如Windows 笔记本Key 里粘贴公钥内容然后 Add SSH key。Gitee 的路径类似头像 → 设置 → SSH 公钥。GitLab 则在 Preferences → SSH Keys。粘贴公钥时有个细节整段内容要完整复制从ssh-ed25519一直到最后不要多复制空格、不要漏行。一行就是一个完整的公钥通常形如ssh-ed25519 AAAAC3NzaC1lZDI1...一串很长的字符 你的邮箱绑定完之后先别急着 push先测一下连接通不通见下文 5.5 节。5.4 多账号多平台用 config 文件分开管理很多人的情况是一个 Git 对应多个平台比如 GitHub 和 Gitee 同时用甚至不同平台想用不同的密钥。怎么办先分别生成不同名字的密钥。比如ssh-keygen -t ed25519 -C github邮箱 -f ~/.ssh/id_ed25519_github ssh-keygen -t ed25519 -C gitee邮箱 -f ~/.ssh/id_ed25519_gitee-f参数指定文件名。生成完毕后在~/.ssh目录下新建一个名为config的文本文件写入Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519_github Host gitee.com HostName gitee.com User git IdentityFile ~/.ssh/id_ed25519_gitee这个配置文件的意思是当 Git 访问github.com时使用id_ed25519_github这把私钥访问gitee.com时使用id_ed25519_gitee。写完保存config 文件的编码建议用 UTF-8换行符最好统一成 LF虽然 Git Bash 一般也能处理 CRLF但统一 LF 能少很多奇怪的解析问题。分号后的缩进不是必须的但建议保留方便阅读。每个Host字段就是匹配规则后续你还可以用这种写法管理多台服务器比如给远程开发机单独设一个别名。5.5 测试连接与常见认证报错配置完成后在 Git Bash 里测试ssh -T gitgithub.com第一次连接会让你确认主机指纹输入yes回车。如果一切正常GitHub 会回复一句类似Hi 用户名! Youve successfully authenticated, but GitHub does not provide shell access.看到就说明 SSH 通道已经通了。Gitee 的测试命令是ssh -T gitgitee.com回复套路差不多。如果提示Permission denied (publickey)通常有四个排查方向第一确认私钥路径和IdentityFile配置一致ls ~/.ssh/看下文件名有没有拼错。第二确认公钥确实已经粘贴到了平台的对应账号下平台之间不通用。第三检查 ssh-agent 是否加载了密钥执行ssh-add -l看列表如果为空用eval $(ssh-agent -s)和ssh-add ~/.ssh/id_ed25519加载。第四用ssh -vT gitgithub.com看详细调试信息会输出具体卡在哪个步骤。另外Host key verification failed这个报错很多人在换掉服务器或者重装系统后遇到。原因很简单本地记录过的 known_hosts 里该主机的指纹和现在的不一致Git 出于安全考虑拒绝连接。解决方法是删掉旧记录ssh-keygen -R github.com然后重新ssh -T gitgithub.com输入 yes 添加新指纹即可。5.6 Windows 本地怎么用 VS Code Remote-SSH 连远程服务器很多 Windows 开发者配 SSH 不只是为了 Git 仓库还要用 VS Code 远程连服务器开发。这一节把这条路也串一下。前提是本地已经生成好 SSH 密钥上一节的步骤就有。然后在 VS Code 里安装Remote - SSH扩展左侧会出现远程资源管理器图标。点击加号输入ssh 用户名服务器IP回车后选择保存到本地哪个 SSH 配置文件VS Code 会启动一个新窗口并通过 SSH 连接到远程服务器。首次连接需要输入服务器密码。如果不想每次都输密码把本地的公钥追加到服务器的authorized_keys里即可。在本地 Git Bash 执行cat ~/.ssh/id_ed25519.pub | ssh 用户名服务器IP mkdir -p ~/.ssh cat ~/.ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys这个命令会先提示输入一次服务器密码之后就免密连接了。如果是多台服务器可以分别把同一把公钥加到每台服务器的authorized_keys里或者按第 5.4 节的方式给每台服务器建独立的密钥。还有一个 VS Code 相关的坑可能你在网上见过这样的提示此扩展在此工作区中被禁用因为其被定义为在远程扩展主机中运行。这是扩展的安装位置问题。用 Remote-SSH 打开远程目录后扩展默认分成本地端和远程端两类有些扩展设计上只在远程端运行打开远程工作区时本地工作区会自动禁用它们。解决办法很简单在 VS Code 的扩展面板里找到这个扩展选择在远程安装或在 SSH 主机中安装让它在远程端重新装一遍提示就消失了。6. 高频命令速查与常见问题排查实录6.1 日常够用的高频命令速查表配置好环境只是开始真正天天打交道的是命令。下面这张表是我在实际开发里使用频率最高的命令按使用场景排好新手可以先背前五行后面用到再查。操作命令说明克隆仓库git clone 仓库地址支持 HTTPS 和 SSH 地址查看状态git status查看工作区和暂存区状态添加文件git add 文件/git add .把改动加入暂存区提交git commit -m 说明生成提交记录推送git push推送到远程仓库拉取git pull拉取远程改动并合并查看分支git branch本地分支列表加-a看远程分支切换分支git switch 分支新写法老版本用git checkout合并分支git merge 分支合并其他分支到当前分支查看历史git log --oneline简洁提交记录暂存改动git stash临时收起改动之后用git stash pop恢复查看远程git remote -v查看远程仓库地址git status是每个新手最容易忽略但最有用的命令你随时不知道自己改了什么、加了什么、和远程差了什么它都会清楚告诉你。记不住其他命令没关系先记住git status再配合git log基本就能在仓库里摸清方向了。6.2 安装阶段的经典问题汇总安装阶段的坑我列几个最常见的照着排查基本能解决。进度条卡住提示安装未完成。这类问题在 Windows 上很常见Git 不是唯一受害者很多开发工具安装包都容易中招。优先怀疑杀毒软件实时防护拦住了安装进程临时关掉防护再装一次其次看系统里有没有残留的 Git 进程打开任务管理器结束所有 git.exe、bash.exe 相关进程然后清理临时目录%TEMP%下以 Git 开头的文件夹最后右键以管理员身份重新安装。右键菜单里没有 Git Bash Here。安装时没有勾选Windows Explorer integration就会出现这种情况。最简单的修复是重新运行安装包选择 Modify 或者 Repair把Git Bash Here勾上。Git Bash 打开就闪退。尝试在 Git Bash 属性里换字体或者先改用 Windows 控制台模式。如果之前改过终端模拟器配置可以重装一次恢复默认。老版本在个别显卡驱动上有渲染问题升级到新版 Git for Windows 一般能解决。6.3 配置与使用阶段的经典问题速查表配置和使用阶段的坑更多我整理成一张速查表你在网上看到的报错多半都能在这里对上号。现象原因解决办法git 不是内部或外部命令PATH 没配置或终端没重启按 4.1 节添加 PATH重开终端中文文件名显示为\346\226\260\345\273\272core.quotepath 为默认值执行git config --global core.quotepath false出现CRLF will be replaced by LF警告换行符自动转换配置不一致统一换行符设置跨团队商量好用哪种push 时反复弹出认证窗口GCM 凭据异常或认证过期在 Windows 凭据管理器里删除旧凭据后重新登录Permission denied (publickey)SSH 密钥未加载或未绑定按 5.5 节排查公钥、私钥路径和 ssh-agentHost key verification failed主机指纹发生变化ssh-keygen -R清除旧指纹后重连每次 push 都要输账号密码用的是 HTTPS 而不是 SSHgit remote set-url origin gitgithub.com:用户名/仓库.git提交作者显示错误user.name / user.email 没设对修改全局或仓库级配置必要时用 filter 重写历史慎用git remote set-url这条命令很有用。有时候你 clone 的时候顺手用了 HTTPS后面又想换 SSH不用重新 clone直接改 remote 地址就行。先git remote -v看当前地址再 set-url 换成 SSH 的地址之后 push 就走 SSH 通道了。6.4 顺手省事的几个小技巧最后分享几个我用了很多年的小技巧说不上多高级但确实省事。git commit --amend可以修改上一次提交。如果你刚提交完发现注释写错了或者漏了一个文件git add后执行git commit --amend --no-edit就能把改动合到上一次提交里不会多出一条凌乱的提交记录。注意这个操作只适合还没 push 的提交push 之后尽量不要改否则会给协作者添麻烦。git add -p是分块暂存。这个命令相对冷门但非常好用。你改了三个功能混在同一个文件里只想提交其中一个功能用git add -p会逐段询问你是否暂存按 y 或 n 就能精确控制提交范围。配合git commit可以做出非常干净的提交历史。在 Git Bash 里想用 VS Code 直接打开当前目录如果安装 VS Code 时勾选了右键菜单在 Git Bash 里直接敲code .就能打开。如果提示找不到命令在 VS Code 里按CtrlShiftP执行Shell Command: Install code command in PATH即可。查看 Git 自带的全部命令用git help -a会列出所有子命令。某个命令的用法记不清了git help 命令会在本地打开官方文档比上网搜要快而且版本匹配绝对准确。7. 最后分享几个真实体会安装配置 Git 这条路我自己走过好几遍也在新电脑上帮人配过无数次最后留几句实在话。第一配置是给自己看的别照抄别人的全套。不同团队、不同项目对换行符、pull 策略、编辑器选择都有偏好你只需要理解每个配置项在干什么然后选适合自己的组合。我自己的长期组合是安装时编辑器选 VS Code换行符选 Checkout as-is, commit as-isSSH 一律用 ed25519 密钥多账号用 config 文件管理这套组合我用了四五年没出过什么大问题。第二Windows 下能用 Git Bash 就用 Git Bash。PowerShell 和 CMD 都能调用 git但 Git Bash 提供的类 Unix 环境对命令处理、SSH 密钥权限、脚本执行都更友好。很多报错在 Git Bash 里不会出现换到系统自带终端就冒出来大多和 Windows OpenSSH 的权限检查机制有关别在这上面浪费过多时间。第三换新电脑时一定记得备份C:\Users\你的用户名\.ssh这个目录。密钥文件是跟着电脑走的电脑换了没备份所有远程仓库的 SSH 访问全部断掉。备份的时候连同 config 配置文件一起拷走新电脑放回同路径、修好权限就能无缝衔接。最后再分享一个小细节装完 Git 后建议立刻执行一次git config --global --edit把全局配置整体看一遍。这个命令会打开编辑器让你检查所有全局配置很多问题在源头就能发现。等你在实际项目里遇到乱码、换行、认证问题再回头排查心态完全不一样。Git 本身不难难的是把环境一次配好、把原理理解透。现在你手里的这套流程够你踏踏实实用上很多年。