
我到现在还记得第一次用U盘把代码从图书馆电脑拷回宿舍结果第二天发现拷回去的是改坏了的那一版整个人坐在电脑前发愣。后来入了行接触了Git才明白世界上居然有“版本控制系统”这种东西——每次改动都能留下存档想回退就回退想对比就对比团队协作更是离不开它。而这一切的起点就是先把Git正确安装到你的电脑上。这篇指南专门写给零基础的朋友。我不会让你去啃官方英文文档也不会让你纠结那些你看不懂的编译参数而是把我自己踩过的坑、帮别人装Git时反复遇到的问题全部梳理出来从下载源选择、安装向导每一页怎么选到装完之后的验证、配置和常见报错排查一步步带你跑通。读完这篇文章你有两个收获一是电脑上多了一个能用的Git二是知道遇到问题时该怎么自己排查。1. 装Git之前先把三件事想明白版本管理逻辑、下载源选择和安装包类型1.1 Git到底在解决什么问题也就是你为什么要装它很多人一开始不理解版本控制这个词觉得我一个小项目自己都懒得管理要什么版本控制给你说个特别直观的类比写代码就像打游戏Git就是存档位。你可以在打到Boss前存个档之后不管打得多乱、死多少次都可以一键读档回到Boss前的状态。玩过游戏的人秒懂。实际的开发场景里Git解决的痛点是实打实的。比如说你今天上午改完一个模块下午又改了一版晚上产品经理跑来告诉你上午那版其实更好。如果没有版本控制你只能凭记忆手工回退改错一行就是灾难。有了Git每次提交都是一个存档点git checkout一条命令的事几秒钟就能回到上午那版。再往大了说Git也是目前全世界几乎所有代码托管平台的基础。你在GitHub、Gitee、GitLab上看到的开源项目背后全是Git仓库。很多框架和工具的安装脚本也会在第一步检查Git是否存在比如一些开发环境的一键安装脚本没有Git会直接报错。所以对想进开发这行的人来说装Git是绕不过去的第一道门槛不如早点装顺。1.2 下载源怎么选这是新手翻车的第一个地方明确了要装接下来第一个实际问题去哪下载大多数人的第一反应是去Git官方网站git-scm.com下载。这个思路没有错但实际体验里很多新手卡在了第一步——官网页面打开很慢点下载链接之后速度感人或者下到一半直接断掉最后拿到一个只有几KB的损坏文件双击提示无法打开。这不是你的网络问题本质原因很简单软件包存放的服务器距离我们比较远跨地域传输稳定性和速度都不太理想。解决办法也很成熟国内有长期维护的开源软件镜像站内容跟官网是同一份官方文件只是传输链路缩短了一大截。常用的两个镜像源清华大学开源软件镜像站里面的 git-for-windows 目录下能找到完整的历史版本阿里云开源镜像站同样提供了 Git for Windows 的安装包下载完以后建议顺手看下文件大小。Git for Windows 的安装包一般在50MB左右如果你下载的文件只有几KB或者十几KB那大概率是下载中断了别犹豫删掉重新下。1.3 安装包这么多到底选哪个打开镜像站的目录你会看到一长串版本文件夹和散落的文件。这时候先别慌命名规则其实很直白。拿Git-2.45.1-64-bit.exe举例2.45.1是版本号64-bit指操作系统架构.exe就是Windows安装程序。选择标准一句话就能说清操作系统是64位的选64-bit的安装包32位的老系统选x86版本。怎么看系统位数Windows下右键此电脑→属性在系统类型一栏就能看到版本号选最新的正式版就好。如果你工作的公司已经锁定了某个大版本跟着公司环境走有的镜像还提供portable便携版可以解压后免安装直接用适合纯净环境。但零基础我强烈建议选安装版.exe让安装向导帮你把环境变量、右键菜单、集成配置全部搞定省去后面一堆手工操作到这一步你已经拿到了合适的安装包可以开始装了。2. Windows安装全流程安装向导每一页应该怎么选我逐页拆给你看2.1 双击安装包之后界面半天不出来是正常的下载好的安装包认准图标双击运行。这里有个很多新手不知道的小情况在Windows 10/11上双击之后界面可能不会立刻弹出也没有任何提示音感觉像没点成功一样。其实这是系统在后台做安全扫描耐心等几秒就好安装窗口通常会自己弹出来。如果你用的是老电脑建议安装前先把正在运行的大型软件关掉比如浏览器开了一堆标签页、后台还在编译程序这类情况虽然不常见但确实有概率影响安装过程。2.2 安装向导11个页面逐页过我建议你这样选Git for Windows 的安装向导是英文界面零基础看到全英文容易虚但实际上每一页要动脑筋的选项很少大部分保持默认就行。我按照实际安装顺序把每一页拆开讲。第一页许可协议GNU General Public License v2这页就是GPL开源协议文本不用读直接点Next。第二页选择安装位置Select Destination Location默认路径是C:\Program Files\Git保持默认。这个目录最好不要改成带中文的路径因为后面很多工具和终端环境对中文路径的兼容性不稳定别给自己埋雷。第三页选择组件Select Components这页信息量稍大默认选项已经比较合理我重点说几个和日常使用强相关的Windows Explorer integration资源管理器集成默认是勾选的强烈建议保留。装完之后你可以在任意文件夹的空白处点右键菜单里会多出Git Bash Here和Git GUI Here这是零基础使用Git最方便的入口Associate .gitconfiguration files*把Git的配置文件关联到默认编辑器保持默认勾选Associate .sh files to be run with Bash把.sh脚本文件关联到Bash运行保持默认这页最省心的做法就是除了默认选项什么都不用动直接Next。第四页开始菜单文件夹Select Start Menu Folder默认创建一个Git文件夹放快捷方式。不用管直接Next。第五页选择默认编辑器Select Default Editor这页是新手最容易研究半天的页面。默认是Vim但Vim的学习曲线确实陡——进去以后你不知道怎么编辑文件更不知道怎么退出这是个在技术圈流传了很久的梗。如果你已经安装了VS Code强烈建议在选项列表里选择Use Visual Studio Code as Gits default editor这样后面凡是Git需要你输入提交说明时会自动弹出VS Code窗口体验完全不一样。如果你现在什么编辑器都没装那也不要硬选Vim。稳妥的做法是保持默认Vim先把Git装上后面装完VS Code再用git config --global core.editor code --wait改回去也就一行命令的事。第六页调整PATH环境变量Adjusting your PATH environment这一页很关键直接决定你在CMD和PowerShell里能不能用git命令。三个选项Use Git from Git Bash only只有Git Bash里能使用gitWindows自带命令行里用不了。选这个后面大概率出现git不是内部或外部命令零基础别碰Git from the command line and also from 3rd-party software推荐把Git的cmd目录加进系统PATHCMD和PowerShell里也能正常使用gitUse Git and optional Unix tools from the Command Prompt这一项不光会集成Git还会把一些Unix命令覆盖进Windows有可能影响系统原有的同名命令没什么好纠结的选第二项也就是默认推荐的中间选项。第七页HTTPS传输后端Choosing HTTPS transport backend这页默认是Use the native Windows Secure Channel Library也就是Windows原生安全通道选它。它会让Git的HTTPS操作复用Windows系统自带的证书管理和网络栈日常访问代码托管平台不需要额外操心证书问题。另一个OpenSSL的选项留给有特殊需求的老玩家新手不需要切换。第八页行尾转换Configuring the line ending conversions这页对新手来说偏底层但确实容易引起问题我多说两句。问题的根源是Windows系统里的文本换行用的是CRLF两个字符而Mac和Linux系统用的是LF一个字符。夹在两种系统之间传文件不管往哪边方向都可能出现整个文件每一行都被标红的诡异情况。三个选项Checkout Windows-style, commit Unix-style line endings推荐从仓库拉代码时转成Windows格式提交代码时转成Unix格式。这是官方给Windows用户设计的折中方案Checkout as-is, commit Unix-style line endings拉下来保持原样提交时转成Unix格式Checkout as-is, commit as-is完全不做转换零基础保持默认选第一项。后面如果进入团队协作换行符策略应该由项目团队统一决定不要再凭个人喜好乱改。第九页终端模拟器Configuring the terminal emulator默认选项是Use MinTTY推荐。MinTTY终端支持彩色输出、鼠标操作和更多快捷键比Windows自带的Console窗口好看且好用。直接保持默认。第十页额外配置选项Configuring extra options这页有两个默认勾选项Enable file system caching启用文件系统缓存提升Git在大仓库下的文件读取效率Enable Git Credential Manager启用凭据管理器这个特别重要。它负责帮你记住远程仓库的账号密码以后推送代码时不用每次重新输一遍两个都保留直接下一步。第十一页实验性选项Configuring experimental options实验性功能默认不勾选。零基础不要碰直接Next。之后进入真正的安装进度条等几十秒到几分钟不等。进度条走完出现完成的界面界面上通常有两个复选框查看发布说明和启动Git Bash。都无所谓直接Finish收工。提示安装向导里的绝大多数默认选项是官方结合绝大多数用户的使用场景调校出来的。新手最容易踩的坑反而是每个选项都想研究一遍然后手痒去改它。你不确定的选项保持默认就是最优解。3. 装完并不等于结束身份配置、验证命令和第一个仓库3.1 安装完先确认版本证明你已经成功了安装完成的第一件事不是急着写代码而是验证一下Git是不是真的能用了。打开任意文件夹在空白处右键选择Git Bash Here会弹出一个黑色终端窗口。在里面输入一行命令git --version如果看到类似git version 2.45.1.windows.1的输出说明安装成功。这一步也是后面所有Git操作的前提条件。顺带说一句Git Bash 这个终端环境本身就是Git for Windows自带的一个小惊喜它模拟了Linux命令行环境里面常用的ls、cd、pwd、mkdir这些命令都可以直接用对从没用过命令行的新手来说是个很好的入门环境。3.2 刚装完就要配置身份不配连提交都做不了安装完成后很多新手会直接建仓库、提交代码然后就在git commit这一步看到一段让人头大的报错大意是Please tell me who you are。这就是Git在问你你叫什么你的邮箱是多少因为每一次提交都必须记录作者信息没有作者信息Git拒绝创建提交记录。所以装完Git第二件事就是告诉Git你是谁。打开Git Bash执行以下两行git config --global user.name 你的用户名 git config --global user.email 你的邮箱这里有几个实操建议user.name建议用拼音或者字母的组合比如zhangsan或者dev_zhang。虽然现在Git已经能支持中文用户名但一些配套工具链对UTF-8的支持参差不齐稳妥起见英文或拼音更省心user.email填你实际注册代码托管平台Gitee、GitHub等的邮箱。这样你推送代码后平台能把你本地的提交自动关联到你的账号上显示头像和名字--global表示全局生效意思是你这台电脑上所有仓库都默认用这个身份。如果你有多个身份比如公司用一个个人用一个先设置全局然后在具体仓库里用不带--global的命令覆盖即可配置完成后可以用下面的命令检查所有配置项git config --list输出里会出现user.name你的用户名和user.email你的邮箱看到这两行就对了。3.3 用四条命令跑通你的第一个仓库单看术语容易晕我建议你直接动手跑一遍最小工作流。在桌面上新建一个文件夹叫git-demo进入文件夹右键Git Bash Here然后依次执行# 创建演示目录并进入 mkdir git-demo cd git-demo # 初始化一个仓库 git init执行git init后目录里会多出一个隐藏的.git文件夹这就是仓库的数据库你所有的版本历史都存在里面。接着创建一个文本文件并把它提交到仓库echo hello git a.txt git add a.txt git commit -m first commit看到类似[master (root-commit) 8f8b6b3] first commit的输出表示第一次提交成功了。再执行git log --oneline输出里会出现一行记录包含短提交号和提交说明。这意味着你已经完整走通了版本控制的核心工作流工作区你磁盘上的文件→ 暂存区git add→ 版本历史git commit。很多复杂概念在你亲手跑完这三步之后会突然变得通透了。4. 安装完翻车最多的五个问题附完整的排查链路我在帮别人装Git的过程中发现真正的坑往往不在安装向导里而在装完后的首次使用环节。下面这几个问题基本涵盖了90%的新手翻车现场。我把每个问题的表现、根因和排查思路完整写出来方便你对照排查。4.1 git 不是内部或外部命令也不是可运行的程序这个报错通常出现在CMD或者PowerShell里而不是Git Bash里。新手照着教程在CMD里敲git --version系统直接甩给你一行红字心态瞬间有点崩。排查链路先打开Git Bash输入git --version试试。如果Git Bash里能正常输出版本号说明git.exe本身没问题问题出在系统PATH环境变量上打开系统属性 → 高级系统设置 → 环境变量在系统变量里找到Path双击打开检查里面有没有C:\Program Files\Git\cmd这一条。没有的话点击新建加上去如果你安装时改了安装路径就把路径换成你实际安装目录下的cmd子目录加好之后必须重新打开CMD窗口环境变量的修改不会自动应用到已经打开的窗口。然后再输git --version验证这个问题的根源你回想一下安装向导第六页如果当时选了Use Git from Git Bash onlyGit就不会主动注册到系统PATH里。这也从侧面印证了我在安装章节为什么反复强调选中间那个选项。4.2 官网下载慢到怀疑人生下到一半还断了这个问题发生在安装之前但我还是要放在这里专门讲因为遇到的人太多了。表现就是下载进度条半天不动或者引用动不动失败最后下了一个损坏的安装包。排查链路先判断是你自己网络环境的问题还是下载源的问题。最简单的方法就是换镜像源再下一次到清华或阿里云的镜像站进git-for-windows目录选择最新的发布版本重新下载那个.exe安装包下载完成后先看文件大小。正常的安装包在50MB左右如果下载下来的文件明显小于这个数别双击删掉重下实在下载太慢可以换个时间段再试。国内网络环境访问境外资源高峰期和低峰期的差距非常大这个属于物理链路问题不是你的电脑有问题顺带提醒一下网上有一些号称Git中文版的第三方下载站来源鱼龙混杂不建议使用认准官网和知名开源镜像站即可。4.3 杀毒软件把安装包或者git.exe拦了这种情况遇到的人数也不少。表现有两种一种是安装包刚下载完就被系统隔离另一种是安装完成后运行时某一步突然报拒绝访问或无法找到指定的文件。排查链路打开Windows安全中心在保护历史记录里看有没有拦截记录确认被拦的具体是不是git.exe、bash.exe等Git相关进程如果是安装包被拦先别急着信任回到镜像站重新下载一份对比一下文件的SHA-256哈希值和官方是否一致。方法是在PowerShell里执行Get-FileHash 文件路径 -Algorithm SHA256把输出的哈希值跟Git官网公布的值比对确认文件来源没问题后再在安全软件或防御系统里选择允许并在信任区里加入Git安装目录如果你是装完以后被拦就把Git安装目录通常是C:\Program Files\Git设为信任目录Git是开源软件被误报通常是因为行为特征被安全软件匹配到了程序试图修改环境变量之类的规则。但注意我绝对不建议你因为图省事就直接关闭安全软件一定要先确认文件哈希值再决定是否信任。4.4 提交时看到 warning: LF will be replaced by CRLF这个警告虽然不影响提交但会吓到不少新手。表现就是执行git add时终端里刷出几行黄色的warning: LF will be replaced by CRLF in ...。根因分析这句话的意思是仓库里某个文件用的是LF换行符Unix风格而你现在的工作区因为Windows的行尾转换策略会把文件转成CRLFWindows风格。Git在转换前提醒你一声接下来我要把LF替换成CRLF了。处理方式如果你安装时用的是我推荐的默认选项这种警告大概率只是偶尔出现不影响使用你可以无视它如果你希望彻底统一处理可以输入git config --global core.autocrlf true设置成true之后Git从仓库拉取代码时自动转成CRLF提交时自动转回LF全程自动处理如果你是在团队协作不建议个人乱改这个配置。因为换行符策略通常由项目仓库的.gitattributes文件统一规定个人配置会跟团队规范冲突反而制造麻烦这个问题的本质就是我在安装向导第八页讲的行尾转换选项在底层起作用了所以当时选对的选项真的能帮你省掉很多莫名其妙的小烦恼。4.5 Git Bash 中文乱码文件名和提交信息变成乱码症状很具体在Git Bash里执行ls中文文件名的文件显示成一串\347\256\273类似的八进制转义序列或者git log看到的中文提交信息是乱码。根因分析Git for Windows 默认对非ASCII字符做了转义输出加上终端本身的字符集设置不对两者叠加就会出现乱码。处理分两步第一步关闭文件名转义git config --global core.quotepath false这个配置的意思是让Git直接按原始Unicode字符显示包含中文等非ASCII字符的文件名而不是转成八进制序列。第二步调整Git Bash终端字符集。在Git Bash窗口左上角或标题栏右键选择Options→Text→Character set改成UTF-8然后点应用。做完这两步再看ls和git log中文基本就恢复正常了。你在使用某些图形化Git工具时可能见过一条特别长的命令形如git -c diff.mnemonicprefixfalse -c core.quotepathfalse --no-optional-locks ...。这并不是什么魔法咒语而是工具在底层调用Git时自动附加的配置参数其中core.quotepathfalse就是这里说到的让中文正常显示的配置之一。你只需要认识它就行不需要手动输入。5. Git装好之后这些热门操作值得马上上手Gitee密钥、amend和基础命令流安装Git只是门槛装完之后的日常操作才是真正的开始。下面这几个操作是初学者问得最多的也都和你搜到的热门词密切相关。我按实际使用频率把它们串一遍。5.1 配置Gitee SSH密钥以后推送代码不用反复输密码国内开发者用得最多的代码托管平台是Gitee。要在Gitee上免密推送代码最规范的方式是配置SSH密钥。流程分三步。第一步在本地生成密钥对。打开Git Bash输入ssh-keygen -t rsa -b 4096 -C 你的邮箱这里-t rsa指定密钥类型-b 4096指定位数-C是备注信息。执行后一路回车即可中间会问你是否设置密钥密码可以留空直接回车。生成完成后密钥默认保存在用户目录下的.ssh文件夹里。第二步查看公钥内容cat ~/.ssh/id_rsa.pub输出是一段以ssh-rsa开头的长字符串把它完整复制下来。公钥是可以公开的私钥id_rsa那个文件绝对不能泄露。第三步登录Gitee进入设置→SSH公钥把公钥粘贴进去并保存。然后在本地验证ssh -T gitgitee.com如果返回类似Hi 用户名! Youve successfully authenticated的提示说明密钥配置成功。以后用SSH地址gitgitee.com:xxx/xxx.git克隆或推送代码就不用再输入密码了。5.2 修改最近一次提交信息git commit --amend 怎么用很多新手会用git commit -m提交之后突然发现信息打错字了或者发现漏加了一个文件。这时候有一半的人会慌着去百度如何撤回提交其实不需要那么复杂一条git commit --amend就够了。先演示一下场景# 先提交一版故意写错说明 echo b b.txt git add b.txt git commit -m add b file with typo # 发现说明写错了想改成add b file git commit --amend -m add b file执行完第二条命令再git log --oneline看一下你会发现原来的那条提交不见了取而代之的是一条新的提交记录提交信息已经变成你希望写的内容。这个命令的准确理解是重写最近一次提交它不仅能改提交信息还能把漏加的文件一起带进这次提交里用法是先git add新的文件改动再执行不带-m的git commit --amend会打开编辑器让你修改信息。注意amend只能修改还没有推送push到远程的本地提交。如果这条提交已经推送到多人共享的远程分支使用amend会重写历史导致其他人的仓库历史对不上这种情况不要使用amend应当用一次新的提交来修正。5.3 常用基础命令一张表零基础先记这些就够了安装Git后你不需要立刻把所有命令都背下来。真正的高频命令用一只手数得过来我整理成一张表放在下面命令作用git init在当前目录初始化一个新仓库git add 文件名把文件加入暂存区准备提交git commit -m 说明把暂存区内容提交成一条版本记录git status查看工作区当前状态有哪些文件被改过git log --oneline查看提交历史一行一条记录git branch查看本地分支列表当前分支前有星标git checkout 分支名切换到指定分支git merge 分支名把指定分支合并到当前分支git remote add origin 仓库地址关联远程仓库git push -u origin 分支名首次推送代码到远程分支git pull从远程拉取最新代码并合并到本地我的个人习惯是零基础用户前期只需要围绕改代码 → git add → git commit这个循环转等到你理解了本地版本管理是怎么回事再接触分支和远程仓库操作一切都顺理成章。5.4 一个小技巧靠凭据管理器省掉重复登录最后分享一个能明显提升体验的小设置。安装向导第十页默认勾选的Git Credential Manager会在你第一次向某个远程仓库推送代码时接管账号密码后面再推送就不需要重新输入了。如果你在使用过程中发现每次推送都还会要密码可以手动执行一次git config --global credential.helper manager这个配置会明确指定由Git凭据管理器作为凭证存储方式。执行后下一次推送时输入一次账号密码或授权之后就能保持登录状态。我自己这两年陆陆续续帮不少零基础的朋友装过Git发现绝大多数安装失败或者安装后不会用根本不是人笨而是下载源不对导致装了损坏的安装包或者是安装向导里某个选项凭感觉选错了以及装完以后完全不做验证和配置。所以我在写这篇指南时特意把下载、安装、验证、配置、排查这几个环节串成了一条完整的链路你顺着走一遍基本不会出岔子。装好Git只是万里长征第一步接下来可以试着把日常的代码改动都纳入版本管理等哪一天你真正依赖上这个后悔药就会明白很多没有Git的世界回不去了。