
自己用过 Windows 11 装 Git 的人一定有这种体验网上搜出来的教程要么是三五年前的旧版本截图界面早就对不上号要么就是让你一路 Next装完才发现 PATH 没配置、用户名是乱码、提交代码时提示各种莫名其妙的错误。我自己帮同事解决 Git 环境问题少说也有几十次了大多数问题都出在安装时那几个选项的处理上根本不是什么高深技术。这篇以 Windows 11 为例把从下载安装包到环境变量、初始化配置、SSH 免密连接远程仓库的完整流程拆开揉碎讲清楚每一步都告诉你为什么这么选照着操作基本不会踩坑。1. 安装之前先搞清楚三件事版本、渠道与系统差异1.1 Git 与 GitHub 不是一回事别装错先说一个特别常见的误区。有新手问“我装的是 Git 还是 GitHub”这两个概念完全不一样。Git 是一个本地运行的版本控制工具它负责跟踪你项目文件的所有变更历史GitHub、Gitee码云、GitLab 这些是远程代码托管平台你可以把本地 Git 仓库推送到这些平台上备份、协作。安装 Git 只是装了一个命令行工具不注册任何平台账号也能正常用本地版本管理。我在帮人排查问题时遇到过有人下载了 GitHub Desktop 之类的图形客户端以为那就是 Git。GitHub Desktop 确实内置了 Git但它把底层命令封装得太死很多操作在图形界面里反而讲不清楚。如果你后面还要用 VS Code、PyCharm 或者其他开发工具我更推荐直接安装 Git for Windows 原版因为所有 IDE 的 Git 集成插件本质上调用的都是这份 Git 命令行程序。1.2 版本号与安装包的三个选择逻辑Git 官方发布频率很高基本每个月都会出小版本。下载时你会看到一堆文件名最容易被搞混的是这几个文件类型适用场景推荐程度64-bit Git for Windows Setup绝大多数现代 Windows 11 设备标准安装版强烈推荐32-bit Git for Windows Setup老旧的 32 位 CPU 或 32 位系统基本不需要64-bit Git for Windows Portable不想写注册表、想用 U 盘随身携带的绿色版不推荐新手ARM64 Git for Windows Setup高通骁龙等 ARM 芯片的 Windows 笔记本按需选择选择逻辑有三个第一装标准 Setup 版便携版虽然免安装但后续右键菜单集成和 Windows 凭据管理器对接都比较麻烦第二除非你的设备是特殊架构否则认准 x64第三选最新的稳定版不要选带 rc、preview 字样的预发布版本稳定版的 bug 少相关教程和插件的兼容性也最好。1.3 Win11 环境下的两个“隐形差异”中文用户名与 CPU 架构Win11 下安装 Git 有两个容易被忽视的点。第一个是系统用户目录如果是中文名比如C:\Users\张三Git 在某些老版本里处理 SSH 密钥路径、缓存路径时会出现编码问题。新版 Git for Windows 已经基本解决了但保险起见安装时安装器如果检测到特殊字符路径会弹出警告这时候不要硬装到用户目录下直接使用默认的C:\Program Files\Git最省心。第二个是 CPU 架构。现在市面上有一些 ARM 芯片的 Win11 笔记本比如部分骁龙 X 系列机型如果你在官网下载了 x64 安装包系统会通过模拟层运行功能上没问题但安装速度、Git 大仓库操作性能会略差。这类设备直接认准 ARM64 安装包即可。2. 下载与校验别让“最新版”停留在嘴上2.1 官方渠道、镜像站与下载优先级Git 官网下载页面是https://git-scm.com/download/win页面会自动识别你的系统位数给出对应的最新版下载链接。点击下载后浏览器会自动跳转到 GitHub 的 Release 页面所以下载过程偶尔会慢这是正常的。如果官网下载速度不理想国内有不少高校和技术社区维护的软件镜像站也同步了 Git for Windows 安装包下载体验会快很多。我不建议从不知名的第三方下载站下载因为你无法确认安装包是否被篡改过很多“高速下载器”的套路大家都懂装完系统里多出一堆全家桶。下载页面里有时会同时出现.exe和.tar.gz格式.tar.gz是免编译的压缩包版本给那些需要自定义安装目录或做自动化部署的人用的普通用户直接选.exe。2.2 用 PowerShell 校验安装包的 SHA-256 哈希这里分享一个很多人忽略但值得养成的习惯安装前校验安装包的哈希值。Git 官方在 release 页面上会公布每个安装包的 SHA-256 值你可以先用 PowerShell 计算你下载文件的哈希再和官网公布的值对比。一致才说明文件完整、未被篡改。打开 Windows 11 的 PowerShell切换到下载目录后运行Get-FileHash -Algorithm SHA256 .\Git-2.51.0-64-bit.exe输出结果是一长串 64 位十六进制字符串比如3F0A...。把这个值和官网 release 页面里SHA256那一栏对比完全一致就可以放心安装。别嫌这一步麻烦哈希校验是免费的保险花三十秒换一个放心尤其在你下载软件来源不是特别明确的时候。2.3 安装包的历史版本说明官网的 download 页面底部有一个Windows版本历史列表如果你因为公司项目兼容性需要装特定旧版本可以在这里找。但我想提醒一句除非项目有明确要求否则没必要退回旧版。Git 的版本管理做得比较谨慎新版本很少引入破坏性变更而且旧版本可能存在已公开的安全漏洞。你本地用的 Git 版本最好和团队其他成员保持一致否则同一套命令在不同版本下表现可能有细微差异排查起来非常头疼。3. 安装向导一步步拆每一个勾选框都值得被尊重3.1 组件选择Git Bash 与 OpenSSH 必须保留运行安装包后前几个界面基本是许可证和安装路径直接下一步。到了Select Components选择组件界面很多人就开始迷糊了我挨个说Git Bash Here和Git GUI Here右键菜单里显示“通过 Git Bash 打开”和“通过 Git GUI 打开”的入口。我的建议是两个都保留尤其是 Git Bash后面你在任意文件夹里右键打开命令行非常方便。Git LFSLarge File Storage大文件存储支持做游戏开发、设计资源管理时会用到建议勾选。默认不勾选的话后面遇到大文件报错再回头装会比较麻烦。Associate .git configuration files with default editor把.gitconfig文件关联到默认文本编辑器可选不影响核心功能。Check daily for Git for Windows updates每天检查更新选不选都行不选也不会影响使用。Add a Git Bash Profile to Windows Terminal把 Git Bash 集成到 Windows 11 自带的 Windows Terminal 里强烈建议勾选后面省事很多。组件界面还有一个OpenSSH相关的选项新版 Git for Windows 会自带一套 OpenSSH 工具。有些用户纠结系统里已经装了 OpenSSH 客户端会不会冲突实际上两者共存没太大问题。Git 自带的那一套和 Git 的密钥管理配合更紧密我建议保留默认设置别去取消。3.2 默认编辑器与分支名提前省掉 90% 的麻烦接着是Choosing the default editor used by Git选择默认编辑器界面。默认是 Vim对新手非常不友好——你在提交时如果需要写提交说明Vim 的插入、退出、保存操作会让人当场懵掉。我强烈建议在列表里选择Use Visual Studio Code as Gits default editor前提是你电脑上装了 VS Code。如果你用的是其他编辑器比如 Notepad、Sublime也都能在下拉列表里找到对应选项。Adjusting the name of the initial branch in new repositories这个界面是问以后执行git init新建仓库时默认分支名用master还是main。GitHub 新仓库默认分支已经是mainGit 官方也早就把默认初始分支改成了main所以这里直接保持默认的Let Git decide或者选择Override并填main都可以。这个设置只影响新建仓库的初始分支名不影响你操作已有仓库。3.3 行尾设置Checkout as-is 还是 CRLF 转换Adjusting your PATH environment和Choosing the SSH executable界面一般保持默认即可关键是接下来的Configuring the line ending conversions行尾转换界面。Windows 文本文件默认用 CRLF回车换行结尾Linux/macOS 默认用 LF换行结尾。如果不管这个差异同一个文件在 Windows 和 Linux 之间切换时Git 会认为整个文件的每一行都变了导致 diff 结果惨不忍睹。安装向导给了三个选项选项实际行为适用场景Checkout Windows-style, commit Unix-style line endings检出时自动转成 CRLF提交时自动转成 LFcore.autocrlftrueWindows 与 Linux/macOS 跨平台协作的默认推荐Checkout as-is, commit as-is完全不做转换core.autocrlffalse纯 Windows 项目或仓库里有严格的行尾要求Checkout as-is, commit Unix-style line endings检出保留原样提交时转成 LFcore.autocrlfinput主要在 Linux/macOS 上操作仓库偶尔在 Windows 上改文件对于大多数在 Windows 上做开发、又需要和服务器或同事协作的读者选第一项默认推荐项是最省心的。如果你的项目里已经存在.gitattributes文件对行尾做了精细控制那这个全局选项其实就不太重要了因为.gitattributes的优先级更高这点后面第 5 章会细说。3.4 终端模拟器与额外选项minTTY、Credential Manager 与符号链接Configuring the terminal emulator to use with Git Bash界面默认选项是Use MinTTY。MinTTY 对 ANSI 颜色、光标控制支持得更好Git Bash 里的命令输出上色更漂亮推荐保持默认。第二个选项Use Windows default console window会复用 cmd 的黑窗口样式兼容性广但显示效果差点。在 Windows 11 上我建议选 MinTTY因为无论是直接打开 Git Bash 还是在 Windows Terminal 里调用体验都更舒服。Choose a credential helper界面默认是Git Credential Manager保持默认。这个组件会在你第一次通过 HTTPS 方式推送代码时弹出 Windows 的登录窗口帮你记住账号密码或 Token免得每次提交都输入一次。详细机制在第 7 章会展开。Configuring extra options里有三个勾选项Enable file system caching文件系统缓存默认勾选即可能提升大仓库下的状态查询速度。Enable symbolic links符号链接支持默认不勾选。因为 Windows 上启用符号链接需要开发者模式或管理员权限普通用户勾了反而可能因为权限不足导致 checkout 报错保持默认关闭。Enable experimental built-in file system monitor实验性的文件系统监视器有性能收益但还在实验阶段不建议勾。3.5 安装完成后的第一件事验证安装路径安装完成后不要立刻关掉窗口。勾选Launch Git Bash会弹出一个命令行窗口先输入下面两条命令验证基本安装git --version which gitgit --version会输出类似git version 2.51.0.windows.1的信息说明主程序没问题。which git会输出 Git 的可执行文件安装路径通常是/c/Program Files/Git/cmd/git.exe。如果这两条命令都能正常输出说明安装和 PATH 都没问题可以进入下一章。4. 把 Git 装进 Win11 的系统血管PATH、Terminal 与右键菜单4.1 环境变量是怎么工作的PATH是 Windows 系统用来查找可执行文件的环境变量。你在命令行里输入git系统会按 PATH 里列出的目录顺序去找一个叫git.exe的文件。安装 Git 时安装器默认会自动把 Git 的cmd目录加到系统 PATH 里所以装完不需要手动配置也能直接用。但有两个例外情况需要手动处理第一安装时如果你选了Use Git from the command line only之外的选项正常情况下都会写入 PATH第二如果你安装时修改了路径或者用了便携版PATH 里没有 Git命令行会报“git 不是内部或外部命令”。手动添加 PATH 的方法是右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 在“系统变量”里找到Path点击编辑 → 新增一行填入你的 Git 安装目录下的cmd路径比如C:\Program Files\Git\cmd确定后重新打开终端。注意环境变量修改后已经打开的终端窗口不会自动刷新必须新开一个窗口才会生效。4.2 Windows Terminal 集成 Git BashWin11 自带的 Windows Terminal 是一个非常值得养成的命令行入口。安装 Git 时如果勾选了Add a Git Bash Profile to Windows Terminal那么打开 Windows Terminal点标签栏右侧的下拉箭头就能看到Git Bash这个配置项。它和独立打开的 Git Bash 本质是同一个 shell但好处是你可以在一窗口里同时管理 PowerShell、CMD、Git Bash 多个标签切换项目时不用来回弹窗。如果没有这个选项也可以手动添加打开 Windows Terminal 设置 → 添加新配置文件 → 命令行填写C:\Program Files\Git\bin\bash.exe名称填Git Bash图标填 Git 的安装目录下的图标文件即可。4.3 右键“Git Bash Here”菜单的设置与恢复在 Win11 上右键文件夹默认显示的是新版精简菜单Git 安装时添加的“Git Bash Here”和“Git GUI Here”可能会被折叠进“显示更多选项”里点击Shift F10或者右键菜单底部的“显示更多选项”才能看到。这是 Win11 对右键菜单的整理策略不是 Git 的问题。如果你希望 Git 的右键入口直接出现在新版右键菜单里目前除了等 Git 官方适配最常用的办法是把 Win11 右键菜单整体恢复为旧版样式。这里提供一条 Windows 官方认可的注册表修改命令管理员权限的 PowerShell 或 CMD 中执行它本质上是通过注册表禁用新版菜单的 CLSIDreg add HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32 /f执行后按Ctrl Shift Esc打开任务管理器重启“Windows 资源管理器”再右键任意文件夹你就会看到熟悉的完整菜单Git Bash Here 直接在里面。想恢复原新版菜单删除这个注册表键再重启资源管理器即可reg delete HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2} /f如果你发现右键菜单里的 Git Bash Here 选项消失了重新运行 Git 安装包选择 Modify把Git Bash Here组件勾上或者直接选择 Repair 修复安装一般就能恢复。5. 安装后的必修课user.name、user.email 与换行规则5.1 为什么首次全局配置不能跳过很多教程讲完安装就结束了但装完 Git 不等于能正常用。你需要先告诉 Git 两件事你是谁提交作者怎么联系你邮箱。每次执行git commit时Git 会把这两条信息写入提交记录。如果没配置部分场景下 Git 会根据系统主机名生成一串类似userDESKTOP-XXXX的默认身份提交记录会非常难看在有些仓库里Git 甚至直接拒绝提交提示Author identity unknown。提交记录是会写入历史且跟随项目分发的虽然理论上可以通过git rebase改写但对新手来说风险很大。最省事的方案就是安装后第一时间配置好。5.2 全局配置命令与验证打开 Git Bash逐条执行以下命令git config --global user.name 你的名字 git config --global user.email 你的邮箱example.com git config --global init.defaultBranch main第一条设置用户名第二条设置邮箱第三条让git init新建仓库时默认分支叫main而不是旧的master。这里的邮箱不一定必须是 GitHub 注册邮箱但建议用你常用的邮箱因为提交记录里会公开显示如果托管在公开仓库别人能看到。配置完可以查看全局配置git config --global --list输出结果里的键值对就是你的全局配置。这些内容存放在用户主目录的.gitconfig文件里文件路径是C:\Users\你的用户名\.gitconfig你也可以直接用文本编辑器打开查看。注意Git 的配置优先级是仓库级.git/config 全局级.gitconfig 系统级所以如果某个仓库需要不同的用户名或邮箱直接在仓库目录里执行git config user.name 其他名字即可不会影响全局。5.3 autocrlf、core.autocrlf 在不同场景下的用法安装向导里的行尾设置其实写入的就是core.autocrlf这个配置项。安装时你选了第一项那全局配置里就是core.autocrlftrue。你随时可以用命令行修改它git config --global core.autocrlf true # Windows 推荐 git config --global core.autocrlf false # 纯 LF 或纯 Windows 项目但在实际团队协作中我不建议完全依赖全局配置来管行尾。更专业的做法是在项目根目录放一个.gitattributes文件用声明式规则告诉 Git 哪些文件用 LF、哪些文件用 CRLF、哪些文件不能被转换。.gitattributes的优先级高于core.autocrlf所以我们在第 3 章说安装选项只是“保底方案”。一个简化版的.gitattributes示例* textauto *.sh text eollf *.bat text eolcrlf *.png binary含义是普通文本文件自动处理行尾.sh脚本强制用 LF否则在 Linux 服务器上运行会出问题.bat批处理强制用 CRLF否则在 Windows 命令行里可能执行异常图片等二进制文件不做任何转换。有了这个文件团队每个成员不管什么系统clone 下来都能保持一致的换行行为。6. SSH 免密与远程仓库连接从“本地能用”到“真正能用”6.1 生成 SSH 密钥对本地仓库要和 GitHub、Gitee 等平台通信有两种主流认证方式HTTPS 个人访问令牌或者 SSH 密钥。HTTPS 方式配置简单但每次推送都涉及令牌过期、凭据管理器弹窗的问题SSH 方式配置好以后一劳永逸长期来看我更推荐。生成 SSH 密钥对在 Git Bash 里执行ssh-keygen -t ed25519 -C 你的邮箱example.com-t ed25519指定使用 Ed25519 算法这是目前兼顾安全性和性能的选择。执行后会提示你设置密钥保存路径直接回车用默认的~/.ssh/id_ed25519即可。接着会要求输入 passphrase口令这是给私钥再加一层密码保护如果你不希望每次使用都输入一遍直接回车跳过。生成完成后用这条命令查看公钥cat ~/.ssh/id_ed25519.pub屏幕上会输出一串以ssh-ed25519开头的字符串这就是你要添加到远程平台的内容。私钥文件id_ed25519无论如何都不要发给任何人、不要上传到公开仓库。6.2 将公钥添加到 GitHub/Gitee以 GitHub 为例登录后进入Settings→SSH and GPG keys→ 点击New SSH keyTitle 随意填一个能区分设备的名称Key 粘贴上一步输出的公钥内容保存即可。Gitee 的操作路径类似设置→安全设置→SSH 公钥→ 添加公钥。添加完公钥后回到 Git Bash用下面的命令测试连接ssh -T gitgithub.com首次连接会询问是否信任主机输入yes回车即可。如果你用的是 Gitee把命令里的域名换成gitee.com。看到类似Hi 你的用户名! Youve successfully authenticated, but GitHub does not provide shell access.的输出就说明 SSH 认证已经通了。6.3 验证连接与常见错误SSH 认证通了以后要把远程仓库的地址从 HTTPS 改成 SSH 格式。在项目目录里执行git remote -v查看当前远程地址如果显示的是https://github.com/用户名/仓库名.git用以下命令修改git remote set-url origin gitgithub.com:用户名/仓库名.git改完以后再执行git push就不会再让你输入账号密码了。这里有一个很常见的问题明明公钥已经添加成功了ssh -T gitgithub.com却提示Permission denied (publickey)。排查思路按顺序来第一确认你当前用户目录里的密钥文件名是不是id_ed25519如果你之前生成过其他名字的密钥且不在默认位置Git 默认不会读取第二确认粘贴公钥时没有多复制空格或漏字符第三确认远程平台添加的是.pub公钥而不是私钥。还有一个容易被忽略的点如果你电脑上装了多个 SSH 工具链比如系统自带的 OpenSSH 和 Git 自带的那套ssh -T用的可能是系统 SSH而 Git push 用的却是 Git 自带的 SSH严格来说用的不是同一套密钥配置。这种情况可以在 Git Bash 里执行which ssh确认当前使用的是 Git 安装目录下的/usr/bin/ssh。如果公司网络或校园网环境下git push很慢或连接超时简单有效的办法是检查远程地址用的是 HTTPS 还是 SSH切换另一种协议通常能绕过部分网络限制。这类优化不属于安装配置的必备项但确实是最常遇到的线上故障提前知道处理思路会省下不少时间。7. Win11 上最常见的 6 个 Git 安装配置坑实测排查7.1 Git Bash 闪退或无反应双击 Git Bash 图标窗口闪一下就消失这是 Win11 上比较让人抓狂的问题之一。原因主要有几类安装路径含有特殊字符、杀毒软件误拦截了 Git 的可执行文件、系统 PATH 里存在损坏项。排查步骤建议这样来先打开 Windows 终端或 CMD直接输入C:\Program Files\Git\git-bash.exe看能不能运行如果能运行说明是快捷方式或关联问题如果不能右键 git-bash.exe 选择“以管理员身份运行”再试。杀毒软件拦截的情况在 360、电脑管家等软件上出现过不少次把C:\Program Files\Git\bin和C:\Program Files\Git\usr\bin加入信任区基本能解决。7.2 git 不是内部或外部命令在 CMD 或 PowerShell 里输入git系统提示“不是内部或外部命令”这是 PATH 没配好。对照第 4 章的方法检查C:\Program Files\Git\cmd是否在环境变量中。还有一种容易忽略的情况你装了新版 Git但 PATH 里同时存在旧版 Git 的路径且旧版路径排在前面命令行调用到的是旧版甚至已卸载的程序。建议把 PATH 里所有 Git 相关路径统一清理后重新添加规范路径。7.3 git status 中文乱码在 Git Bash 里执行git status中文文件名显示成一串转义字符比如\346\265\213\350\257\225这不是文件坏了而是 Git 默认对非 ASCII 文件名做了转义显示。执行git config --global core.quotepath false以后再显示中文文件名就正常了。如果 Git Bash 里中文内容本身乱码打开 Git Bash 窗口左上角菜单 → Options → Text → Character encoding 选为 UTF-8同时把 Locale 设置为zh_CN或C也能改善。7.4 右键菜单中 Git Bash Here 消失这个场景在第 4.3 节提过解决方法这里补充一个案例有些用户安装了预览版 Git又卸载重装正式版右键菜单可能残留旧版入口或干脆失效。最快的恢复手段是重新执行安装包选择Repair安装器会修复所有集成项。如果修复后依然没有再去检查注册表里的上下文菜单项是否被第三方软件清理了。7.5 每次 push 都要求输入账号密码使用 HTTPS 方式推送时每次都弹窗或提示输密码多数情况是 Git Credential Manager 没有生效。检查一下git config --global credential.helper输出结果应该是manager或类似内容。如果输出为空说明凭据助手没配置git config --global credential.helper manager配置完成后下次推送输入一次账号凭据会被写入 Windows 凭据管理器之后不会再反复询问。也可以通过“控制面板 → 用户账户 → 凭据管理器 → Windows 凭据”查看已保存的 Git 凭据如果账户密码换了在这里删除旧的凭据记录重新认证即可。7.6 Windows 安全中心拦截安装包从网上下载的 Git 安装包双击后Windows SmartScreen 会弹出一个蓝色感叹号提示“已保护你的电脑”。这通常是因为安装包没有足够的下载信誉不代表文件有问题。点击“更多信息”然后选择“仍要运行”即可。如果你是在官网或可信镜像站下载的可以放心通过。安装包如果是通过浏览器下载有时会附带Zone.Identifier标记文件来自网络右键安装包 → 属性 → 如果有“解除锁定”选项勾选后再运行可以避免一些安全策略引起的安装中断。8. 装完之后我建议你立刻做的事安装配置完成后我给每个用户都会提两句额外建议虽然是“非必需”但长期受益。第一保留 Git 安装包别急着删。右键菜单异常、组件丢失、配置错乱时重装系统前先运行安装包选择Repair九成问题能原地恢复不用重装。第二顺手配两个别名能显著提升日常操作效率。在 Git Bash 里执行git config --global alias.st status git config --global alias.lg log --oneline --graph --all --decorate以后输入git st就是查看状态git lg能以图形化方式浏览提交历史。这些小习惯不影响功能但用久了真的回不去。Git 的环境配置说难不难但每一步背后都有原因。从版本选择、安装选项、PATH 机制到身份配置、SSH 免密这些环节单独拆开都不复杂串在一起就成了新手最容易翻车的地方。按这篇文章的顺序走一遍你的 Win11 上应该就是一套干净、稳定、能真正用于协作的 Git 环境了。