
很多刚接触Git的Windows用户第一次打开命令行时都会有同一种感受这套命令环境怎么跟我想象的不一样。Git官方推荐的终端工具叫Git BASH它不是需要单独下载的独立软件而是随着Git for Windows一起安装进来的一套模拟Linux命令行的环境。这篇文章就围绕Git BASH的安装、配置、踩坑整个过程把能遇到的问题一次讲透。先说明白Git BASH到底是什么、能解决什么问题。Git是团队协作和版本管理绕不开的工具而BASH是Linux里最常见的命令行解释器之一。Git BASH就是把BASH环境移植到Windows上让你在Windows里也能用上ls、grep、awk、sed这些Linux常用命令同时能直接运行Git命令。对需要跟Linux服务器打交道、或者看教程时发现命令全都以$开头的初学者来说装好Git BASH就相当于给自己配了一个跨平台的命令行入口不用再为“Windows命令和Mac/Linux命令不一样”而头疼。这篇教程适合Windows零基础用户也适合已经装过Git但没搞懂安装选项、遇到配置问题不知道怎么排查的人。1. 为什么Windows上不缺一个“模拟Linux终端”1.1 Git、BASH与Git BASH的关系很多人第一次接触Git时会在安装包上看到“Git BASH Here”这个右键菜单然后产生疑惑我装的是Git怎么多出来一个BASH这里有个容易混淆的点Git本身是一个版本控制工具它真正干活的是git commit、git push、git merge这些命令而BASH是一个命令解释器类似于Windows里的CMD或者PowerShell只不过它出身于Linux/Unix世界。Git BASH是Git for Windows项目附带的一个终端环境底层基于MSYS2和MinGW的技术在Windows用户态模拟了一个类Linux的shell环境。你在Git BASH里能运行git命令也能运行ls、find、tar这些Unix工具还能跑一些简单的BASH脚本。它跟WSLWindows Subsystem for Linux最大的区别在于WSL是微软官方提供的完整Linux子系统相当于在Windows上跑了一个精简Linux虚拟机而Git BASH只是一个轻量的命令行模拟层不涉及虚拟化启动快、占用小装完Git就能用。1.2 它比CMD和PowerShell好在哪Windows自带的CMD确实能运行Git命令前提是安装时把Git加入了系统PATHPowerShell也能做到。但实际用下来CMD在几个方面非常难受。第一个是命令习惯差异网上绝大多数的Git教程、开源项目文档给出的都是Linux风格的命令语法比如用ls而不是dir用rm -rf而不是del /s复制粘贴一段命令到CMD经常直接报错。第二个是脚本兼容性你从项目仓库里拿到的部署脚本十有八九是BASH脚本格式在CMD和PowerShell里根本跑不了。Git BASH解决的正是这两个痛点它提供了一套和Linux服务器几乎一致的操作体验让你在本地Windows开发时用的命令、写的脚本到了Linux服务器上依然能直接复用。用我自己的话说Git BASH是一个“翻译层”把Windows用户带入Unix命令行世界而且不需要你去单独折腾虚拟机或者双系统。1.3 哪些场景下你离不开Git BASH如果你只是用TortoiseGit俗称小乌龟这种图形界面工具那Git BASH对你来说确实不是必需项。但只要你开始接触命令行操作就绕不开它。我总结了几类最典型的场景一是通过SSH登录Linux服务器虽然Windows 10以上版本自带OpenSSH客户端但Git BASH里的SSH体验更顺手二是执行开源项目提供的.sh脚本这类脚本在CMD和PowerShell里跑不了三是批量操作文件比如用find配合grep搜索日志、用awk处理文本这些组合命令在Git BASH里跟Linux完全一致。另一个容易忽略的场景是IDE集成。VS Code、IntelliJ IDEA、GoLand这些开发工具的默认终端都可以切换成Git BASH切换之后你在编辑器里敲Linux命令、跑Git操作、执行自动化脚本整个流程会顺畅很多不会出现“环境对不上”的割裂感。2. 安装前的准备下载源、版本选择与已有环境检查2.1 从哪下载怎么选版本Git for Windows的官方下载地址是git-scm.com进入网站后页面会自动识别你的操作系统给出Windows版本的下载按钮。建议优先从官方网站下载不要从第三方软件站或网盘找安装包一方面是版本可能老旧另一方面是渠道不明存在安全风险。官网提供64-bit和32-bit两个版本现在绝大多数电脑都是64位系统直接选64-bit即可。如果你不确定系统位数可以在Windows设置里查看“系统 关于”或者右键“此电脑”选择“属性”查看。32位版本只适用于一些老旧的机器一般用不上。Git的版本迭代非常快官网首页一般会展示最新稳定版本直接下载最新版就行不用追求特殊的旧版本。除非你的开发环境有特殊兼容性要求比如公司内部的CI/CD系统锁定了某个版本一般原则是“越新越好”。下载完成后是一个exe安装文件体积大概50MB到60MB左右速度取决于网络环境。2.2 安装前先检查有没有装过Git如果你是第一次安装可以跳过这一节。但如果你电脑上已经安装过Git或者之前用其他方式装过类Unix工具集建议先检查一下环境避免安装后出现命令冲突。打开CMD输入git --version如果显示出版本号说明系统里已经有Git了只不过可能是旧版本如果提示“不是内部或外部命令”说明没有安装或者装的时候没有加入PATH。旧版本的Git不需要特意卸载Git for Windows的安装包支持覆盖安装直接在新版本上安装即可。但要注意一个特殊情况如果你之前用Chocolatey或者Scoop这类包管理器装过Git再用官方安装包可能会产生重复建议先通过包管理器卸载再走官方安装流程。另外如果你电脑上装了Cygwin或者MSYS2Git BASH虽然会安装到自己独立的目录但两者都依赖一些相似的环境变量多数情况下互不干扰不过遇到命令行为异常时可以往这个方向排查。2.3 安装目录和权限注意事项Git for Windows默认安装到C:\Program Files\Git这个目录是系统级目录安装时需要有管理员权限。如果你在公司电脑或公共电脑上安装没有管理员权限会导致安装失败这时候可以自定义安装目录到用户目录下比如D:\Git或者C:\Users\你的用户名\Git这样不需要管理员权限也能正常安装。有一点需要特别提醒安装路径尽量不要包含中文和空格。虽然Git官方已经优化过路径兼容问题但很多第三方工具在调用Git时遇到中文路径容易出现莫名其妙的问题。C:\Program Files\Git这种带空格的路径是经过充分测试的所以不用改它如果你要自定义目录选择一个全英文无空格的路径最稳妥。3. 完整安装步骤每一步选什么、为什么这么选3.1 双击安装包逐步走完向导安装包下载完成后直接双击运行看到用户账户控制提示时选择“是”进入Git Setup安装向导。整个安装过程分十几个页面大部分页面只需要点Next但有几个关键选项会直接影响后续使用体验这里我把它们单独拿出来详细解释。第一个页面是许可证协议GNU General Public License直接Next。第二个页面是选择安装路径Select Destination Location建议保持默认或者按前面说的改到纯英文目录。第三个页面是选择组件Select Components这个地方需要留意几个复选框Additional icons里的“On the Desktop”可以按需勾选就是桌面快捷方式Windows Explorer integration里的“Git Bash Here”和“Git GUI Here”强烈建议保持勾选这两个选项给你右键菜单加上“Git Bash Here”入口平时开发效率提升全靠它。组件页面里的Associate .git* configuration files with the default text editor和Associate .sh files to be run with BASH一般默认勾选就行分别表示用默认文本编辑器打开Git配置文件、用BASH运行.sh脚本。还有一个Scalar组件是新版Git加入的一个大仓库管理工具默认不勾选即可平时用不上勾上会多安装点东西。3.2 选择默认编辑器与PATH环境变量接下来几个页面比较关键。第一个是“Select Default Editor Used by Git”默认编辑器意思是执行git commit需要输入提交说明时Git会调用哪个编辑器。Git默认使用Vim但对不熟悉Vim的初学者来说进入Vim界面后很容易出现“不知道怎么保存退出”的窘境你会在网上看到大量“git commit卡在vim里怎么退出”的提问。我的建议是这里直接选择“Use Visual Studio Code as Gits default editor”前提是你电脑上装了VS Code如果你主要用其他文本编辑器选择对应的选项即可。如果没有VS Code也可以先保持Vim后续用命令修改。第二个是“Adjusting your PATH environment”这是最容易选错的一步。它有三个选项Use Git from Git Bash only只在Git Bash里使用Git命令。这个选项最“干净”不会污染系统PATH但你在CMD和PowerShell里用不了git命令IDE的集成功能也可能受到影响。Git from the command line and also from 3rd-party software把Git加入系统PATH推荐大多数人选这个。这样Git Bash、CMD、PowerShell、VS Code的终端都能直接运行git命令。Use Git and optional Unix tools from the Command Prompt不仅加入Git还加入一堆Unix工具但会覆盖Windows自带的find和sort命令容易引发系统级问题不建议选择。第三个是“Choose HTTPS transport backend”HTTPS传输后端默认Use the OpenSSL library即可。这个选项影响Git通过HTTPS协议访问远程仓库时的加密方式OpenSSL是跨平台通用方案兼容性最好不要改成Windows原生方案。3.3 换行符选项最容易让人迷惑的地方接下来是“Configure the line ending conversions”换行符转换。这个页面几乎每个安装教程都会遇到但也是很多新手“默认下一步”结果后期各种报错的根源。简单说Windows系统用CRLF回车换行表示行尾Linux和Mac用LF换行表示行尾。Git仓库里的文件统一存成LF但Windows上的编辑器有时候会存成CRLF于是产生了转换需求。这里有三个选项Checkout Windows-style, commit Unix-style line endings检出的文件转换为Windows风格CRLF提交时转换为Unix风格LF。这是最推荐的选择尤其适合在Windows上单人开发或者小团队协作能最大程度避免换行符引发的差异问题。Checkout as-is, commit as-is不转换文件什么样就什么样。适合团队成员都在Linux下工作、或者你已经明确知道仓库里没有换行符问题的场景。Checkout Unix-style, commit Windows-style几乎没人用不推荐。选第一项之后Git会在工作区把文件换成CRLF你在Windows的记事本、VS Code里打开文件不会出现“\r”这种乱码或不换行的情况而提交到仓库里的文件保持LF服务器上也不会出问题。这是我实际踩过坑之后才理解的逻辑一开始图省事选了第二项结果同事在Linux上拉我的代码总是报换行符相关警告后来改成第一项才彻底消停。3.4 终端模拟器、默认分支名与其他选项再往下是“Choose the default behavior ofgit pull”默认取main分支的策略一般保持默认后面几步还有“Choose a credential helper”凭据管理器和“Configure extra options”额外选项。先看凭据管理器默认Git Credential Manager即可这个功能让你在推送代码到Gitee、GitHub等平台时自动保存账号密码第一次验证之后后续操作就不用反复输入了强烈建议保持默认。终端模拟器选项Choosing the default terminal emulator有MinTTY和Windows Console两种选择。MinTTY是Git官方推荐的终端支持颜色区分、右键复制粘贴、快捷键操作体验更好显示效果也更接近Linux终端Windows Console则是调用系统自带控制台窗口兼容性更好但功能单一。我个人的建议是选MinTTY视觉反馈清晰用起来舒服。Default branch name这个选项Git新版本会问初始分支名用master还是main。早期所有Git仓库默认分支都叫master后来业界逐渐转向main新项目推荐选择main不过如果你们团队或你参考的教程还在用master选哪个都不影响大局这是个习惯问题而非技术问题。最后还有一个“Enable experimental support for pseudo consoles”的选项属于实验性功能不要勾选正常使用稳定版配置就行。全部选完之后点击Install就开始安装了整个安装过程大概一两分钟。4. 安装后的关键配置不上配等于白装4.1 验证安装结果与用户信息配置安装完成后在桌面或任意文件夹里右键选择“Git Bash Here”打开Git Bash窗口。先验证环境是否正常输入git --version能显示出版本号就说明安装成功再输入bash --version确认BASH环境也正常。如果这两个命令都能正常运行说明你的Git BASH主体环境没问题。接下来第一步必做的是配置用户信息这是Git提交代码时用来标识“谁提交的”的唯一依据。不配置的话提交代码时会直接报错提示Please tell me who you are。打开Git Bash执行git config --global user.name 你的名字 git config --global user.email 你的邮箱这里的名字和邮箱建议用英文拼音或你自己习惯的写法邮箱最好跟你注册Gitee或GitHub的邮箱保持一致这样提交记录能正确关联到你的账号。--global参数表示全局生效作用于当前用户的所有仓库如果你不同项目需要不同身份可以在特定仓库目录里去掉--global单独设置。验证一下是否配置成功输入git config --global --list会看到你刚才配置的记录包括user.name和user.email确认无误即可。4.2 配置SSH密钥免密推送代码这是新手最容易卡住的一步也是很多教程里写得模棱两可的地方。你在Gitee或GitHub上配置仓库后无论是clone还是push都需要认证身份。用HTTPS协议的话每次操作都可能要求输入用户名密码用SSH协议只需要把公钥放到平台后台本地通过密钥对自动认证全程不需要输入密码。生成密钥的命令是ssh-keygen -t ed25519 -C 你的邮箱如果你用的是比较老的Git版本可能不支持ed25519算法可以改用ssh-keygen -t rsa -b 4096 -C 你的邮箱执行后命令行会提示你选择密钥保存路径默认是~/.ssh/id_ed25519直接回车即可然后会提示设置密码短语passphrase这里可以直接回车跳过也可以输入一个自定义密码。密码短语相当于密钥的二次保护设置了的话每次使用密钥都要输入不设置就是纯免密。密钥生成后输入ls ~/.ssh你会看到几个文件id_ed25519是私钥绝不能给别人也不能上传id_ed25519.pub是公钥需要填到平台后台。查看公钥内容cat ~/.ssh/id_ed25519.pub复制输出的整段内容登录你的Gitee或GitHub账号进入“设置 SSH公钥”页面粘贴保存。然后在Git Bash里测试连接以Gitee为例ssh -T gitgitee.com第一次连接会提示Are you sure you want to continue connecting输入yes回车。如果看到Hi xxx! Youve successfully authenticated说明SSH密钥配置成功以后clone和push都不需要输密码了。4.3 需要手动调整的全局配置项除了必配的用户信息和密钥有几个全局配置项建议在安装后就补齐都是实际使用中能明显提升体验的。第一个是中文文件名显示问题Windows下clone仓库时如果文件名里有中文Git默认会把中文转义成八进制编码形式显示为\346\265\213这种乱码看起来非常难受。解决方法是关闭路径转义git config --global core.quotepath false设置之后git status和git ls-files里的中文文件名就能正常显示了。第二个是默认文本编辑器如果你安装时没有选VS Code或者后来想换编辑器可以用命令修改git config --global core.editor code --waitcode --wait表示打开VS Code并等待你关闭后再继续执行Git命令适合git commit时不带-m参数、需要弹编辑器写提交说明的场景。如果你用其他编辑器把code换成对应命令即可。第三个是配置提交时的默认分支名对于已经创建的仓库影响不大新仓库可以设置git config --global init.defaultBranch main这样执行git init初始化的仓库默认分支就是main而不是被提示“master分支”。5. 常见问题与排查技巧实录5.1 bash: git: command not found这个问题通常有两种情况。第一种是你还没有安装Git或者安装过程中在PATH选择步骤选了“Use Git from Git Bash only”导致git命令只能在特定位置找。如果你确实选了第一项可以改用完整路径运行git/c/Program Files/Git/cmd/git.exe --version但最省事的办法还是重新运行安装包把PATH选项改成推荐的第二项。第二种情况是你在Git Bash之外的地方运行git命令比如在CMD或者PowerShell里输入git报command not found这说明Git没有加入系统PATH。解决方案有两种一是重新安装并选择正确的PATH选项二是手动修改系统环境变量把C:\Program Files\Git\cmd添加到Path变量里。修改完之后需要关闭当前命令窗口重新打开才能生效。5.2 fatal: not a git repository (or any of the parent directories): .git这个报错出现的频率极高新手几乎都会遇到。它的含义是当前目录不是Git仓库或者git命令找不到仓库的.git目录。绝大多数原因是你执行git status或git commit时没有先进入一个已经被git init初始化过的项目目录。排查思路很简单先确认你当前在哪个目录用pwd查看当前路径然后确认这个目录下有没有.git文件夹用ls -a查看隐藏文件。如果目录不对用cd命令切换到正确的项目目录如果确实还没初始化过仓库先执行git init再执行git status就正常了。还有一种情况是你的项目是从别人那里拷贝来的拷贝时把.git目录漏掉了这个目录是Git的核心元数据目录没有它Git就无法识别这是一个仓库。5.3 换行符相关的warningLF will be replaced by CRLF这个警告在Windows上非常常见看到它不用慌它不一定是错误。它的意思是Git检测到现在这个文件在仓库里存的是LF格式但你的工作区需要CRLF于是Git会在这个文件提交时自动做转换。一般情况下只要你安装时选择了推荐的第一项换行符策略这个警告可以视作正常提示。如果你实在不想要这个警告可以在当前仓库里设置git config core.autocrlf false但我不推荐这么做因为关闭转换后可能出现文件换行符不一致的问题尤其在Windows和Linux环境之间协作时。更合理的做法是给项目配一个.gitattributes文件明确定义哪些文件类型用LF、哪些用CRLF让所有协作者遵守同一套规则。这个文件写起来也不复杂网上有很多标准模板可以参考比如* textauto *.sh text eollf *.bat text eolcrlf5.4 中文乱码问题文件内容或文件名显示异常文件名乱码的问题前面提到了执行git config --global core.quotepath false就能解决。如果你遇到的是文件内容乱码比如用cat查看一个UTF-8编码的文件显示乱码那就不是Git的问题而是终端编码设置的问题。MinTTY默认使用UTF-8编码Windows控制台则可能默认GBK编码如果文件内容是GBK在UTF-8环境下显示就会乱码。处理方式是让Git Bash窗口始终使用UTF-8编码。对于MinTTY一般默认就正确如果你用的是Windows控制台窗口可以在窗口标题栏右键进入属性把代码页设成65001UTF-8代码页。另外如果你在Git中提交信息里写了中文提交后查看日志中文乱码可以执行git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding utf-85.5 登录失败与认证问题报错信息类似login failed. check api token or gitlab version、remote: Authentication failed、fatal: Authentication failed for https://...这类问题基本都是认证信息不对。先区分你用的是HTTPS协议还是SSH协议如果local仓库的remote地址是HTTPS开头那Git会请求用户名和密码如果密码中包含、#等特殊字符命令行解析时会出错建议拼一个URL编码版本。如果认证方式用的是Git Credential ManagerWindows会弹出一个小窗口让你输入账号密码或授权如果这个窗口没弹出可能是Credential Manager没有正确工作可以在控制面板里检查“凭据管理器”中是否保存了过期的Git凭据删除旧的再重新验证一次。使用SSH协议的话ssh -T gitgitee.com能通过但push还是失败多半是远程地址不对检查一下仓库地址是否是SSH格式而不是HTTPS格式。5.6 右键菜单没有Git Bash Here安装时明明勾选了“Git Bash Here”但右键菜单里就是找不到这种情况一般出现在你后来把Git安装目录移动过或者安装时没有真正执行成功。最可靠的修复方式是用管理员身份重新运行Git安装包选择“Repair”修复模式把右键菜单相关的组件重新装上。如果修复无效可以自己手动添加注册表项但这属于偏进阶操作不建议新手贸然尝试。一个更省事的替代方法是把Git Bash发送到桌面快捷方式或者固定到任务栏每次打开再切换到需要的目录虽然多一步操作但也能用。5.7 git commit进入vim不会退出这个问题虽然和安装无关但几乎每个用Git BASH的人都会遇到。执行git commit没有加-m参数Git默认打开编辑器让你写提交说明如果你安装时没换默认编辑器就会进到vim界面。在vim里按i进入编辑模式输入提交说明然后按Esc退出编辑模式输入:wq回车保存并退出。如果不想用vim除了安装时改默认编辑器也可以用全局配置换成你熟悉的其他编辑器。6. 几个让Git BASH效率翻倍的实用技巧6.1 配置别名让常用命令短一半Git本身支持命令别名配置这个功能能显著提升日常操作效率。在Git Bash里执行git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.cm commit配置之后git status简写为git stgit checkout简写为git co每天能省下不少按键。更进阶一点的玩法是配置组合别名比如git config --global alias.lg log --oneline --graph --all --decorate配完之后执行git lg能清晰看到所有分支的提交历史树状图排查分支合并情况非常直观。我自己的习惯是把log相关的几个常用视图都配成别名这样跟同事讨论代码历史时直接在终端甩出一个完整图比口述高效得多。6.2 用好Tab补全和命令历史Git BASH继承了Linux终端的Tab补全能力输入命令或文件名时按Tab能自动补全比如输入git che再按Tab会自动补全成git checkout。如果多个命令前缀相同连按两次Tab会列出所有匹配项供你选择。这个习惯建议从第一天就养成能大幅减少拼写错误和记忆负担。命令历史功能在Git BASH里同样可用按上下方向键切换之前的命令history命令能看到本次会话的所有历史记录CtrlR进入反向搜索历史命令输入关键字能快速找到之前执行过的命令。实测下来配合Tab补全和CtrlR日常Git操作的速度能快至少三分之一。6.3 用.bashrc定制自己的BASH环境Git BASH每次启动时会读取用户主目录下的.bashrc文件这个文件是配置BASH环境的核心。你可以在里面定义自己的别名、函数和环境变量。比如给常见操作设置别名echo alias gsgit status ~/.bashrc echo alias gpgit pull ~/.bashrc echo alias gcgit commit -m ~/.bashrc source ~/.bashrc写入后执行source ~/.bashrc让配置立即生效。注意这里直接在BASH里设置别名跟前面用git config设置Git别名是两条路线前者由BASH解释器负责后者由Git自己实现效果类似但机制不同。如果你有更复杂的BASH脚本需求比如想写一个批量检查多个仓库状态的脚本可以在~/.bashrc里定义BASH函数或者把脚本放到一个专门目录里再把那个目录加入PATH。Git BASH本身就是BASH环境所以你在Linux上学的BASH脚本知识在这里基本都能用上。6.4 Git BASH跑简单的自动化脚本Git BASH不只是交互式输入命令它还能执行.sh脚本这在自动化重复任务时非常实用。比如我经常要检查本地多个项目仓库是否有未提交的改动就写了一个小脚本循环遍历指定目录下的所有仓库执行git status --short有输出就说明有改动。脚本内容并不复杂核心逻辑就是for循环加git命令。写脚本时有个小坑需要注意Windows下创建的脚本文件默认换行符是CRLFGit BASH在执行时可能报错$\r: command not found。解决办法是先把脚本转换成LF格式或者直接在Git Bash里用vi编写。也可以用一个通用命令批量转换sed -i s/\r$// your-script.sh这个命令把文件里的CR字符删掉转换完成后再执行脚本就不会报错了。6.5 配合VS Code使用体验最佳VS Code对Git BASH的支持很成熟把默认终端切换成Git BASH之后开发体验会上一个台阶。打开VS Code按Ctrl逗号打开设置搜索terminal.integrated.profile.windows在配置里添加Git Bash的路径然后在终端面板的下拉菜单里选择Git Bash作为默认。这样你在VS Code里打开终端就是一个完整的BASH环境直接在编辑器里执行Git命令、跑脚本不需要切换窗口。VS Code的源代码管理面板也会自动识别Git仓库看到修改的文件直接点提交、推送与终端操作互补。在实际开发中我通常是图形界面和命令行混用大范围查看改动用图形界面精细操作比如cherry-pick、rebase、交互式修改提交时切到Git BASH命令行体验最舒服。7. Git BASH安装之后再进一步学点什么装好并配置完Git BASH只是跨进了Git世界的大门。安装配置阶段解决的是“环境能不能用”的问题而接下来要解决的是“环境怎么用好”的问题。以我的经验安装完成后最值得投入时间学习的几个方向包括Git的核心四区概念工作区、暂存区、本地仓库、远程仓库和文件流转逻辑这部分是理解一切Git操作的地基分支管理与合并冲突解决这关系到你在真实团队协作中能不能生存下来以及git rebase和git reset这类高级命令的原理与风险它们是重构提交历史的关键工具。如果你在Windows上主要用命令行解决Git问题还有一个很实用的点值得了解一下Git BASH里的很多命令不仅仅是给Git用的它还附带了一个完整的类Unix工具箱玩熟了之后你会发现在Windows上处理批量文件重命名、日志分析、文本替换这类工作用Git BASH里的命令组合比写Python脚本或者用资源管理器手动操作要快得多。这也是许多Windows开发者装了Git BASH之后就再也不愿意用CMD的原因。回到安装本身如果只记住一句话那就是安装时认真看懂那几个关键选项尤其是PATH和换行符别一路Next到底。这两步选对后面能省掉大量排查配置问题的时间。装好之后把用户信息和SSH密钥配上基本就能顺畅使用Git BASH了。之后遇到各种问题多看报错信息多对照仓库状态检查大多数疑难杂症都能在终端反馈里找到线索。