Win11下Git安装与配置全攻略:从下载到SSH密钥和VSCode联调

Win11下Git安装与配置全攻略:从下载到SSH密钥和VSCode联调 1. 为什么2025年还要认真装一遍Git很多人觉得Git安装没什么技术含量下一步下一步就完事了。我一开始也这么想直到帮同事排查一个提交代码后作者信息全是乱码的问题折腾了快两个小时才发现根源就是当初装Git时一路默认core.quotepath、换行符、默认编辑器这些配置全是错的。从那以后我每次在新机器上装Git都会老老实实走一遍完整流程。这篇内容面向的是刚接触版本控制的新手以及换了新电脑、重装了Win11需要重新搭环境的老手。我会以Win11为例把Git从下载、安装、基础配置、SSH密钥、到和VSCode联调这一整条链路讲透。核心关键词就几个Git安装、Win11环境配置、SSH密钥、Git命令。你跟着走一遍能直接得到一个可以正常提交、正常推送、不会因为编码和换行符出问题的开发环境。需要先说明一点Git本身只是个命令行工具它不依赖任何IDE。但实际工作里我们几乎都会把它和编辑器、代码托管平台配合使用。所以这篇不只是装完能用而是装完能顺畅地干活。下面所有操作我都实测过Win11 23H2和24H2版本都验证过路径和界面基本一致。2. 下载与安装那些默认选项里藏着的坑2.1 去哪下、下哪个版本官方下载地址是 git-scm.com进去之后首页会自动识别你的系统Windows直接点Download for Windows就行。这里有个细节官网会同时提供Standalone Installer独立安装包和Portable便携版两种。我建议普通用户一律选Standalone Installer便携版虽然不用安装但环境变量、右键菜单这些都要手动配反而更麻烦。版本选择上64位系统选Git-2.xx.x-64-bit.exe。2025年主流版本已经在2.4x以上了功能上对个人开发者来说差异不大不用纠结非要最新。但有一点要注意如果你公司内网有安全策略可能会要求用特定版本那就以公司要求为准。下载速度慢是常态官网服务器在国外。我的经验是换个时间段比如早上七八点速度会明显好一些。如果实在下不动可以找国内镜像站但一定要核对文件哈希值别下到被篡改的包。2.2 安装向导逐页拆解双击安装包后会弹出一长串配置页。大部分人卡在这里就是因为看不懂英文选项。我把关键几页拆开讲。第一页是许可协议直接Next。第二页是安装路径。默认是C:\Program Files\Git。这里我强烈建议不要装在C盘尤其是C盘空间紧张的朋友。改到D:\DevTools\Git这类路径。原因有两个一是Git本身加上后续的仓库缓存会占不少空间二是重装系统时装在非系统盘的Git配置和SSH密钥更容易保留下来。路径里不要有中文和空格这是铁律很多莫名其妙的报错都源于此。组件选择页默认勾选的够用了。但有两个我建议额外确认Add a Git Bash Profile to Windows Terminal如果你用Win11自带的Windows Terminal勾上会方便很多以及Associate .git* configuration files with the default text editor。其他的像桌面快捷方式看个人喜好。默认编辑器选择页默认是Vim。如果你不熟悉Vim进去之后按i才能输入、按Esc再输:wq才能保存退出新手很容易卡死在这里。我建议直接选Visual Studio Code或者Notepad。选VSCode的前提是你已经装了它否则安装程序会提示找不到。PATH环境变量页这是最关键的一页。三个选项选项含义建议Use Git from Git Bash only只能在Git Bash里用不推荐Git from the command line and also from 3rd-party software命令行和第三方工具都能用推荐Use Git and optional Unix tools from the Command Prompt连find、sort这些Unix命令也加进来谨慎选第二个。第三个会把Unix的find、sort覆盖掉Windows自带的同名命令可能导致一些批处理脚本行为异常除非你明确需要否则别选。换行符转换页三个选项。这是跨平台协作最容易出问题的地方。Windows用CRLFLinux和macOS用LF。选Checkout Windows-style, commit Unix-style line endings也就是默认的第一项。它的逻辑是检出到本地时转成CRLF方便Windows编辑提交时转回LF保证跨平台一致。如果你团队全是Windows也可以选第三项按原样但一旦有Mac或Linux同事就会乱套。终端模拟器页选Use MinTTY默认。MinTTY对中文和UTF-8支持更好。git pull行为页默认的Default (fast-forward or merge)就行。后面还有凭据管理器和文件系统缓存都保持默认。全部点完后安装程序会跑进度条最后可以勾选Launch Git Bash验证一下。2.3 验证安装是否成功装完之后一定要新开一个终端Win11下按WinX选终端输入git --version正常会输出类似git version 2.47.0.windows.1。如果提示不是内部或外部命令说明PATH没配好。这时候别急着重装先检查是不是没开新终端——环境变量修改后已经打开的终端不会自动刷新。再输一个where git会列出git.exe的完整路径。如果列出来的是你安装的路径那就对了。如果列出来多个说明系统里可能装了多个Git比如之前装过GitHub Desktop自带的需要手动清理PATH。3. 装完必做的全局配置不配等于白装3.1 用户名和邮箱提交记录的身份证装完第一件事配置用户名和邮箱。这不是可选项是必选项。因为Git的每一次提交都会记录这两个信息它们决定了代码托管平台上显示的是谁提交的。git config --global user.name 你的名字 git config --global user.email 你的邮箱这里的邮箱最好和你代码托管平台Gitee、GitHub等注册的邮箱一致否则平台无法把你的提交和你的账号关联起来贡献图就是一片空白。我见过太多人提交了几百次结果主页上一点绿色都没有就是邮箱对不上。配置完可以用git config --global --list查看所有全局配置。3.2 换行符与编码中文用户的必修课前面安装时选了换行符策略但保险起见再手动确认一遍git config --global core.autocrlf trueWindows下设为true。如果你只在Windows和Linux之间协作这个值是对的。然后是编码。中文用户最容易踩的坑就是提交信息乱码、文件名乱码。加这两条git config --global core.quotepath false git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding utf-8core.quotepath false的作用是让Git在显示中文文件名时不要转义成八进制。不加这条你git status看到的中文文件名会是一堆\344\275\240这样的乱码根本没法看。3.3 默认分支名跟上主流Git老版本的默认分支叫master现在主流平台都改成了main。新装的话直接设成main省得每次新建仓库还要手动改git config --global init.defaultBranch main3.4 常用别名让命令短一点Git命令有时候确实长配几个别名能省不少事。这是我的常用配置git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.lg log --oneline --graph --all配完之后git st就等于git statusgit lg能直接看到漂亮的提交图谱。别名这东西因人而异别贪多配几个自己高频用的就行。4. SSH密钥一次配置长期免密4.1 为什么用SSH而不是HTTPS用HTTPS方式推送代码每次都要输账号密码或者token烦。SSH方式配置一次密钥之后推送拉取全程免密而且更安全。所以只要你不是临时用一下都建议配SSH。4.2 生成密钥对先检查本地有没有现成的密钥ls ~/.ssh如果看到id_rsa和id_rsa.pub或者id_ed25519系列说明已经有了可以跳过生成。没有的话执行ssh-keygen -t ed25519 -C 你的邮箱这里我推荐用ed25519算法而不是老的rsa。ed25519更短、更快、更安全现在主流平台都支持。执行后会问你保存路径直接回车用默认的~/.ssh/id_ed25519。然后会问你要不要设密码passphrase可以留空直接回车也可以设一个增加安全性。设了密码的话每次用密钥都要输嫌麻烦就留空。生成完~/.ssh目录下会多出两个文件id_ed25519私钥绝对不能给别人和id_ed25519.pub公钥用来上传到平台。4.3 把公钥添加到代码托管平台查看公钥内容cat ~/.ssh/id_ed25519.pub会输出一长串以ssh-ed25519开头、以你的邮箱结尾的文本。完整复制这一整行包括开头和结尾。然后登录你的代码托管平台找到SSH公钥或SSH Keys设置页新建一个把内容粘贴进去起个能认出来的名字比如公司台式机保存。4.4 验证连接配置完测试一下ssh -T gitgitee.comGitHub的话把域名换成github.com第一次连接会提示是否信任主机输入yes回车。如果看到类似 Hi xxx! Youve successfully authenticated 就说明成功了。4.5 那个经典的权限报错热词里有个报错很典型bad owner or permissions on c:\users\thinkpad/.ssh/config。这个问题的根源是Windows下SSH对配置文件的权限要求很严格如果文件权限过于开放比如Everyone都能读SSH会拒绝使用。解决办法是修复权限。在PowerShell里执行把用户名替换成你自己的icacls C:\Users\你的用户名\.ssh\config /inheritance:r icacls C:\Users\你的用户名\.ssh\config /grant:r $($env:USERNAME):(F)第一条命令移除继承的权限第二条只给当前用户完全控制权。同理id_ed25519私钥文件如果报权限问题也可以用同样方式处理。这个坑我踩过当时以为是密钥坏了重生成好几次都没用最后才发现是权限问题。5. 和VSCode联调把Git用顺手5.1 VSCode里的Git集成VSCode内置了Git支持装好Git后它会自动识别。打开一个文件夹左侧活动栏会出现源代码管理图标。如果没出现检查设置 - 扩展 - Git里的Git: Path是否指向了正确的git.exe。在VSCode里你可以直接看到文件改动、暂存、提交、推送不用敲命令。但我的建议是新手阶段命令和图形界面结合用。图形界面直观但命令能让你真正理解Git在干什么。等命令熟了再用图形界面提效。5.2 配置默认终端为Git BashWin11的VSCode默认终端是PowerShell。如果你习惯Git Bash可以在设置里搜terminal.integrated.defaultProfile.windows改成Git Bash。这样在VSCode里开终端就是Git Bash环境命令和Linux更接近。5.3 一个高频场景克隆仓库后立刻做的事克隆一个仓库后我通常会先做两件事。第一检查当前分支和远程git remote -v git branch -a第二如果仓库里有.gitattributes文件确认换行符策略是否和本地冲突。有些项目会强制指定* textauto这时候本地的core.autocrlf设置可能会被覆盖需要留意。6. 常见问题排查从报错到解决6.1 推送时提示Permission denied (publickey)这个报错九成是SSH密钥没配好。排查顺序确认公钥已经添加到平台且复制完整开头结尾都没漏。用ssh -T测试连接看具体报什么。如果提示找不到密钥检查~/.ssh下私钥文件名是否是默认的id_ed25519。如果你生成时改了名字需要在~/.ssh/config里指定。config文件可以这样写Host gitee.com HostName gitee.com User git IdentityFile ~/.ssh/id_ed255196.2 提交信息中文乱码如果git log看到的中文是乱码检查前面配的i18n.logoutputencoding。另外Git Bash的终端编码也要是UTF-8。可以在Git Bash窗口标题栏右键 - Options - Text确认Character set是UTF-8。6.3 文件名大小写问题Windows文件系统不区分大小写但Git区分。如果你把一个文件从Readme.md改成readme.mdGit可能检测不到变化。解决办法是用git mv Readme.md readme.md或者先改成别的名字再改回来。这个坑在跨平台协作时特别容易遇到。6.4 代理相关有些公司内网需要通过代理访问外网。如果Git连不上远程仓库可以配置代理git config --global http.proxy http://代理地址:端口不需要时记得取消git config --global --unset http.proxy7. 我踩过的几个真实坑和对应经验第一个坑是安装路径带中文。有次帮朋友装他装在了D:\软件\Git结果Git Bash启动就报错各种命令找不到路径。改成纯英文路径后一切正常。所以路径里只留英文字母、数字和短横线最稳妥。第二个坑是多个Git版本冲突。装了GitHub Desktop之后它自带一个GitPATH里可能有两个git.exe。这时候git --version显示的版本可能不是你刚装的那个。用where git查一下把不需要的从PATH里删掉。第三个坑是SSH密钥权限。前面提到的bad owner or permissions就是。Windows下SSH对权限很敏感尤其是从别的机器拷贝过来的.ssh目录权限往往不对。用icacls修复是标准做法。第四个坑是换行符导致的整个文件diff。有次提交一个文件明明只改了一行diff却显示整个文件都变了。原因就是换行符从LF变成了CRLF。解决办法是统一core.autocrlf设置并在项目里加.gitattributes文件明确指定。第五个坑是默认编辑器是Vim导致提交卡死。新手git commit后进入Vim界面不知道怎么退出以为程序卡了。装的时候选VSCode或Notepad就能避免。如果已经装了可以改git config --global core.editor code --wait8. 一套可以直接抄的配置清单最后把我个人常用的全局配置整理成一份清单新机器装完Git直接照着敲一遍基本就齐活了git config --global user.name 你的名字 git config --global user.email 你的邮箱 git config --global core.autocrlf true git config --global core.quotepath false git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding utf-8 git config --global init.defaultBranch main git config --global core.editor code --wait git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.lg log --oneline --graph --all配完之后用git config --global --list核对一遍。SSH密钥单独生成、单独上传别和这些配置混在一起。这套流程我在Win11上反复验证过从下载到能正常推送代码顺利的话二十分钟以内能搞定。真正花时间的往往不是安装本身而是遇到报错时的排查。把上面这些坑提前避开能省下大量折腾的时间。环境这东西一次配好后面就是长期受益。