
装Git这件事说简单真简单官网下载、一路下一步十分钟搞定说复杂也复杂我见过不少人在这一步就卡住了——不是装完发现命令行里敲git提示找不到命令就是装了某个老旧版本后面跟现代的代码托管平台对接时冒出一堆协议兼容问题。作为一个在开发一线折腾了十几年的老手我觉得有必要把Git安装这件事从头到尾掰开揉碎讲清楚包括安装前的选型思路、各平台的详细操作、装完之后的验证和初始化以及那些藏在细节里的坑。这篇内容适合完全没装过Git的新手也适合那些已经装了但总觉得哪里不对劲、想确认自己环境没问题的人。我会把多年实操中积累的经验和教训一并写出来尽量一次解决你安装阶段的所有困惑。1. 安装Git之前先弄清这几个版本问题很多人上来就点“最新版下载”其实这个习惯不一定好。Git的版本选择背后有讲究选错了虽然也能用但后续可能遇到各种莫名其妙的问题。1.1 为什么不能只看“最新”两个字Git的迭代速度一直很快功能更新也频繁。但“最新”并不代表“最适合你”。这里有几个现实因素要考虑首先是操作系统兼容性。比如老旧的Windows 7系统新版的Git安装包可能根本跑不起来因为新版已经放弃对旧系统的支持。如果你还在用Windows 7或更早的系统就需要刻意选择Git 2.3x系列的较早期版本而不是闭着眼睛装最新的。其次是功能差异。某些公司内部使用的代码托管平台比如自建的GitLab或Gitea可能版本较老如果你本地装了过新的Git有些命令输出的格式或默认行为可能跟服务端不兼容导致推送时出现怪异的报错。还有一个很实际的问题教程和资料。你搜到的很多教程、视频可能基于某个特定版本写的如果版本差异太大命令结果对不上新手就会陷入“明明照着做了为什么不对”的困惑。所以我给的建议是不要追求最新而要追求“稳定的较新版本”。具体来说去Git官网或镜像站看发布列表选那种已经发布了一段时间、没有严重bug反馈的版本比如当前最新版往前推一两个小版本通常是最稳的选择。1.2 命令行版本和图形界面版本的取舍Git的安装形态主要有两类一类是纯命令行工具装完以后在终端里操作另一类是自带图形界面的客户端比如某些官方GUI工具或第三方客户端。这里我必须说一句可能得罪人的话新手阶段请老老实实学会命令行。原因很简单Git的全部能力都是通过命令暴露的图形界面只是命令的封装。你在图形界面上点来点去实际上都是后台在拼命令。如果你不懂命令背后的逻辑一旦图形界面出问题、或者你需要操作一些封装不完善的高级功能就直接抓瞎了。而且日常开发中绝大多数场景是终端里敲几下就能搞定的比鼠标点来点去快得多。学会了命令行你用什么IDE、什么编辑器都能从容应对因为所有现代编辑器都是通过调用Git命令来工作的。当然这并不代表图形界面一无是处。对于某些只想临时用用、不想深究命令的人来说图形界面有它存在的意义。但如果你打算长期跟代码打交道我建议安装时选择完整安装包带命令行工具的那种先不用额外装GUI客户端用一段时间再说。1.3 便携版、源码编译版和包管理器版的区别Git的安装来源大致有三种我分别说说它们的使用场景官方安装包Git官网直接下载的安装程序Windows和macOS都有对应的二进制安装包。这是最省事、最推荐的方式安装完成后一切开箱即用各种依赖都帮你配好了。包管理器安装比如Windows的winget或choco、macOS的Homebrew、Linux的apt或yum。这种方式的好处是安装、升级都很方便一条命令搞定而且能自动处理依赖关系。适合喜欢用命令行管理软件的人。源码编译安装从源码自己编译。除非你有特殊需求比如要自己裁剪功能、给Git打补丁否则不推荐日常使用。编译过程耗时不说还容易因为依赖缺失而失败对于新手就是地狱难度。我的建议很明确Windows用官方安装包macOS可以用Homebrew也可以用官方安装包Linux用发行版自带的包管理器安装即可。这三类方式在下面的章节会详细展开。2. Windows、macOS和Linux的安装实操细节不同操作系统下装Git表面看都是下载、安装、下一步但细节差别很大。我把三个平台分开讲清楚。2.1 Windows系统从下载到环境变量的一整套流程Windows用户最省心的方式是去Git官网下载页面选择Windows对应的安装包一般是.exe格式。但你可能会发现官网下载速度有时候不太给力这时候可以用国内的一些软件源镜像站选一个离你近的下载即可。拿到安装包后双击运行会进入安装向导。这里有几个关键选项我提醒一下第一个是“Select Components”页面强烈建议把“Git Bash Here”勾上这个选项会在你的右键菜单里添加“在终端中打开Git”的入口非常方便。其他组件比如桌面快捷方式、图标之类的按需勾选就行不用贪多。第二个是“Default editor used by Git”这里会让你选择Git默认使用的文本编辑器。如果你电脑上装了VS Code直接选“Use Visual Studio Code”没有的话选Vim或Nano也行。不过说实话这个选项只影响你敲git commit之后没加-m参数时弹出的编辑界面影响有限不用纠结太多。第三个是调整PATH环境变量的选项这里有三个单选“Use Git from Git Bash only”只在Git Bash里使用Git命令不修改系统PATH。“Git from the command line and also from 3rd-party software”推荐把Git加入系统PATH这样你在CMD、PowerShell里都能直接敲git命令。“Use Git and optional Unix tools from the Command Prompt”把Git的一些Unix工具也放进系统PATH但可能跟Windows系统自带命令冲突一般不建议。我建议直接选第二个推荐选项。选第一个的话你只能从Git Bash里用Git在CMD和PowerShell里敲git会提示“不是内部或外部命令”对新手很不友好。接下来是换行符转换Line Ending Conversions的选项这个我在后面“坑位排查”章节会详细讲。默认选第一个就行。安装完成后按Win R输入cmd打开命令行敲git --version验证一下。如果出现类似git version 2.39.2的输出说明安装成功了。如果提示找不到命令多半是PATH没生效——可以把命令行窗口关掉重新开一个或者手动去“环境变量”里确认Git的安装路径默认是C:\Program Files\Git\cmd是否在系统PATH中。2.2 macOS系统两条路线对比与选择macOS用户装Git有两条主流路线一是用Homebrew安装二是用官方安装包。用Homebrew安装是最干净的方案。如果你还没装Homebrew那可能需要先解决Homebrew本身的安装。装好之后打开终端执行brew install git等待跑完即可。Homebrew会自动帮你搞定一切依赖装完之后git --version直接可用。以后升级也方便直接brew upgrade git就行。用官方安装包则需要去Git官网下载macOS版解压安装即可。但这里有个细节要注意macOS对从网上下载的应用程序有严格的权限管控门禁机制下载的安装包可能因为签名问题被拦截。遇到这种情况可以去“系统设置 - 隐私与安全性”中手动允许运行。如果你装的是旧版macOS或者Apple Silicon芯片的机型建议优先用Homebrew方案它能保证拿到较新的版本。Intel芯片的老Mac倒是无所谓哪个方便用哪个。有些场景下macOS换行符处理和Windows不太一样后面会细说所以装完后建议先做一次基本配置确保后续克隆和提交不会出怪问题。2.3 Linux系统发行版包管理器的一行命令Linux用户装Git就没什么可说的了直接走发行版的包管理器下面几个常用命令对应不同的发行版# Debian / Ubuntu / Linux Mint 系 sudo apt install git # Fedora / CentOS / RHEL 系 sudo dnf install git在CentOS 7及老版本上可能是yum install git不过这些老系统我建议尽早升级或迁移不再推荐在上面搭建新开发环境。还有一个Linux上常见的坑包管理器自带的Git版本可能比较老。比如某些长期支持版Ubuntu的官方软件源里Git版本还是两三年前的。如果你对版本有要求比如想体验某些新特性可以考虑用第三方源或源码编译。但对于绝大多数开发场景老版本完全够用不用刻意折腾。装完以后同样验证一下git --version能打印出版本号就说明装好了。顺便提一句Linux上如果后续要跟代码托管平台交互需要额外依赖SSH密钥管理、CA证书等工具链这些通常作为Git的依赖会被自动装上不用太操心。3. 装完Git之后的验证、初始化与坑位排查很多教程写到“验证版本号”就结束了但以我的经验装完Git距离真正能用还有一小段路。这一节我重点讲验证细节和初装阶段最常遇到的坑。3.1 版本没问题还不够要看“家目录”和配置文件在终端敲git --version出了版本号说明程序本体正常但Git能不能按你的预期工作还取决于它的配置文件。Git的配置分为三个层级系统级别、用户级别、仓库级别。系统级配置写在这台机器上所有用户共享的路径用户级配置写在你的用户主目录下~/.gitconfig仓库级配置写在具体仓库的.git/config里。优先级是仓库级别 用户级别 系统级别。刚装完Git你大概率没有用户级配置文件。这时可以执行下面的命令确认git config --list --show-origin这个命令会列出当前生效的所有配置项以及它们来自哪个文件。如果输出内容很少甚至报错说明配置文件还没初始化——这很正常本来就需要自己配。接下来就该配置用户名和邮箱了这个步骤不做好你根本没法提交代码git config --global user.name 你的名字 git config --global user.email 你的邮箱邮箱建议跟你的代码托管平台注册邮箱保持一致这样你提交的记录才能正确关联到你的账号上。这个步骤很多人会漏掉直到第一次git commit时弹出“Please tell me who you are”才手忙脚乱去补白白浪费时间。3.2 SSH还是HTTPS安装完就该决定的对接方式跟代码托管平台比如GitHub、GitLab、Gitea等协作时无外乎两种协议HTTPS或SSH。HTTPS的方式最无脑——克隆仓库时用https://开头的地址推送时输入账号密码或令牌验证就行。这种方式不需要额外配置唯一麻烦的是每次都要验证身份虽然可以设置缓存凭证。SSH的方式更符合老手习惯——生成一对密钥把公钥放到代码托管平台上之后push和pull都不需要输密码更安全也更方便。安装Git之后你现在就可以生成密钥ssh-keygen -t ed25519 -C your_emailexample.com一路回车生成默认即可。生成的公钥默认在~/.ssh/id_ed25519.pub把里面的内容复制到托管平台的SSH Keys设置里就行。这里有个经验之谈SSH密钥用ed25519算法比老旧的rsa更安全、更短而且现代代码托管平台基本都支持。如果你看到教程里让你生成rsa密钥除非确实需要兼容老系统否则优先用ed25519。3.3 初装后最容易踩的坑换行符、编码和中文乱码装完Git后新手最容易遇到的三个“隐形坑”我一个个说。第一个坑是换行符转换CRLF与LF。Windows系统文本默认用\r\n作为换行符就是回车加换行而Linux和macOS系统默认用\n只有换行。Git有一个自动转换机制Windows上克隆下来时把LF转成CRLF提交时再把CRLF转回LF。这个机制初衷是好的但经常因为不同项目的.gitattributes文件配置差异导致你看到的代码和远程仓库里的代码状态不一致或者出现“明明没改文件却显示有改动”的诡异现象。如果你主要在Windows上单人开发、不需要跟别人跨平台协作可以在安装时选择“Checkout as-iscommit as-is”原样检出原样提交也就是不做任何转换省去一堆麻烦。但如果你参与的项目本身有完善的.gitattributes文件那就继续用默认的转换机制跟着项目约定走。第二个坑是终端编码问题。Windows上如果文件名或提交信息包含中文有时候会显示成乱码。去Git for Windows的设置里把终端编码调成UTF-8一般能解决大半问题。macOS和Linux默认UTF-8基本不用管。第三个坑是凭据管理器Credential Manager。Windows版Git安装时默认会装一个Git Credential Manager它在HTTPS推送时弹窗让你登录输入一次后记住凭据之后就不用重复输了。但有时候它弹出的登录窗口可能会被拦截或者在命令行环境下没法正常弹出。遇到这种情况可以改用SSH方式对接一劳永逸。3.4 验证完整性的附加检查除了版本号我还建议做几个附加检查确认环境真正可用。一个是检查Git的安装路径Windows下可以执行which git在Linux和macOS下也可以用这条命令或者用type -a git看有没有多个Git路径。如果有多个路径优先确认你在终端敲的是哪一个——有时候你装了新版Git但终端用的还是旧版排查问题时会一头雾水。另一个是检查Git自带的组件是否完整。可以执行git --exec-path这条命令会输出Git可执行文件的路径如果你发现某些Git命令提示找不到多半是这个路径不完整或损坏直接重装一遍更省事。4. Git与编辑器、客户端的衔接以及日常配置优化安装只是开始真正让Git融入你的日常工作流还需要做几件额外的事。4.1 让编辑器“接管”Git以VS Code为例现在绝大多数人写代码都用IDE或编辑器稍微好一点的编辑器都内置了Git集成功能。以VS Code为例装完Git后需要确保编辑器能识别到系统里的Git。在VS Code里按Ctrl Shift P调出命令面板输入“git”查看版本或相关设置。如果VS Code提示找不到Git通常是因为编辑器的Git路径配置指向了一个不存在的位置或者PATH里没有Git。在settings.json里可以手动指定git.path指到git可执行文件的具体位置。如果你用的编辑器是老旧的Sublime Text或Atom它们对Git的支持相对弱一些可能需要额外装插件才能实现提交、推送等功能。但无论如何系统层面的Git装好之后编辑器只是它的“客户端”所以核心还是系统里的Git本身。4.2 日常高频配置别名、默认行为和缓存装好Git后、真正开始干活之前有几个配置项可以显著提升使用体验我挑实用的讲。配置别名。Git命令本身有些长敲起来费劲。你可以配置一些简短别名比如git config --global alias.co checkout git config --global alias.br branch git config --global alias.st status git config --global alias.lg log --oneline --graph --all --decorate这样敲git co就相当于git checkoutgit lg可以看一个清爽的提交历史图。我用了很多年非常顺手。配置默认推送方式。新版Git默认的push.default行为是simple意思是每次都推送当前分支到同名的上游分支。如果你不习惯可以显式设置git config --global push.default current这样每条分支推送时它会自动创建或更新同名远程分支对于多分支协作场景更直观。配置凭证缓存时长。如果你用HTTPS方式可以设置凭据缓存时间减少重复输密码的频率git config --global credential.helper cache git config --global credential.helper cache --timeout3600上面的配置让Git在一小时内记住凭据。如果你更看重便利性可以配置持久化存储的helper但那个方式在不同平台差异较大建议等用熟了再折腾。4.3 多账号与多平台的切换经验工作中有些人会同时使用多个代码托管平台比如公司内部的GitLab和个人用的GitHub。这时候关键是要管理好SSH config和用户配置。先说SSH的配置。在~/.ssh/config里你可以为不同平台指定不同的密钥和别名Host github-work HostName github.com User git IdentityFile ~/.ssh/id_ed25519_work Host github-personal HostName github.com User git IdentityFile ~/.ssh/id_ed25519_personal这样你在克隆个人项目时就用gitgithub-personal:用户名/仓库.git来代替默认的地址推送时Git会自动选择对应的密钥。这个方法比反复切换密钥文件靠谱得多。再说Git用户配置。因为用户名和邮箱写在~/.gitconfig里是全局的如果你在不同平台使用不同身份可以在具体仓库下面用git config user.name和git config user.email单独覆盖。所以我通常的做法是全局配置一个默认身份在特定仓库里再覆盖成对应平台的身份。这样提交记录就能自动关联到正确的账号。4.4 安装完成后建议立即做的一套“体检”最后我把装完Git之后建议立即做的事汇总成一个清单方便你逐项检查检查项方法期望结果版本号git --version输出合理的版本号安装路径which git只有一个路径或确认你用的就是预期路径用户名git config --global user.name已有输出邮箱git config --global user.email已有输出SSH密钥ls ~/.ssh/id_ed25519.pub文件存在编辑器关联打开VS Code的源代码管理面板能正常显示Git命令换行符设置git config --global core.autocrlfWindows上一般为true或false根据需求确认花五分钟把这套体检跑一遍之后开发中遇到的问题会少一大半。我见过太多人装完Git就开始克隆仓库、写代码结果第一次提交就被各种配置问题卡住回头排查才发现全是初始配置没做好的锅。与其浪费那半小时去搜报错不如装完顺手把这七项过一遍一劳永逸。安装Git这件事本质上就是给后续所有代码管理打地基。地基稳了楼上怎么盖都舒服地基要是歪了后面每层都跟着遭殃。希望这篇教程能帮你把这一步走扎实后面再进入分支管理、合并冲突、回滚操作这些进阶内容时就顺畅多了。