ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Git安装加速全攻略:镜像下载与Windows环境配置详解

Git安装加速全攻略:镜像下载与Windows环境配置详解 先说结论Git这玩意儿本身不大但官方源的下载速度确实能把人急死尤其是Windows安装包几十MB的东西挂半小时是常事。这篇博文把下载加速方案、安装全流程、环境配置和常见坑一次性讲清楚照着做基本一次成功。我自己的团队在前两年全面切Git做版本管理时光安装这一步就劝退过好几个新人。原因不是Git难用而是“下载安装”这个看起来最没技术含量的环节在特定网络环境下实在太折磨人。等装完了环境变量没配好、用户名没设置、换行符报错又是一连串问题。所以这篇文章我不打算只贴几个命令而是把从下载到配置再到验证的完整链路走一遍顺便把下载慢的解决方案讲透。1. 下载慢的根源与解决思路1.1 为什么Git安装包下载慢很多人在浏览器里打开Git官网git-scm.com点下载按钮然后就开始漫长的等待。慢的原因很直接安装包托管在国外的服务器上物理距离远跨国际链路传输稳定性也一般。尤其在高峰期几十MB的.exe文件可能下载好几个小时甚至中途断掉重新下载时又不支持断点续传。这个问题的本质不是你的电脑配置不行也不是宽带不够而是源服务器的地理位置问题。解决办法也就很清晰换一个离你更近的下载源。1.2 镜像站加速的核心思路所谓镜像站就是别人把原站的安装包、源代码定期同步一份到自己服务器上。国内有不少高校和企业维护着这类镜像访问速度快、稳定性高。以Git for Windows为例比较常用的国内镜像站有这么几个镜像站地址特点阿里云镜像mirrors.aliyun.com/git-for-windows/速度快长期维护清华TUNA镜像mirrors.tuna.tsinghua.edu.cn/git-for-windows/高校镜像同步比较及时华为云镜像mirrors.huaweicloud.com/git-for-windows/国内云厂商稳定性好腾讯云镜像mirrors.cloud.tencent.com/git-for-windows/访问速度快下载的时候进入对应的v2.x.x.windows.x目录找到Git-x.x.x-64-bit.exe64位系统或Git-x.x.x-32-bit.exe32位系统就行。1.3 先确定你的系统版本下载之前先搞清楚自己电脑的系统位数。右键“此电脑”或“我的电脑”选“属性”在“系统类型”里能看到是64位还是32位。现在绝大多数电脑都是64位装64位版本就行。但如果你还在用比较老的32位系统或者需要在一些嵌入式设备上使用那就得选32位版本。2. Windows安装全流程2.1 从镜像站下载安装包我建议你直接打开阿里云或者清华的镜像站找到git-for-windows目录选择最新稳定版本。打开后你会看到类似这样的结构v2.45.2.windows.1/ Git-2.45.2-64-bit.exe Git-2.45.2-32-bit.exe点64位那个下载就行。镜像站这种直链下载速度通常能跑满带宽几十MB几秒钟搞定。提示如果你所在的局域网有代理或者防火墙限制下载时可能会被拦截。这种情况可以试试用浏览器直接下载或者让网管放行对应的域名。2.2 安装向导逐项详解下载完成后双击exe文件开始安装。整个安装过程其实就是一个向导但里面有几步经常有人踩坑我逐项说明。第一步信息页面直接点Next会显示GNU General Public License协议继续Next。第二步选择安装路径默认路径是C:\Program Files\Git。这个路径本身没问题但有一点要特别注意整个路径中不要出现中文和空格。如果你非要装在D盘建议用D:\Git这样的路径不要用D:\软件\Git版本管理这种。虽然新版Git对中文路径的兼容性已经好多了但后续某些工具链对接时仍然可能出现编码问题没必要给自己找麻烦。第三步选择组件默认勾选的项目里有几个值得注意在“Additional icons”里勾选“On the Desktop”会在桌面创建快捷方式。“Windows Explorer integration”里的“Git Bash Here”和“Git GUI Here”建议保留。这是让你在文件夹右键菜单里直接打开Git Bash的入口日常使用频率相当高。“Associate .git configuration files with the default text editor”建议勾上这样.gitconfig文件双击就能用文本编辑器打开。“Associate .sh files to be run with Bash”建议保留方便直接跑shell脚本。第四步选择默认编辑器Git默认用Vim作为提交信息的编辑器。Vim对新手不太友好进去之后不知道按哪个键退出网上甚至有个热门梗叫“如何退出Vim”。我建议在列表里选择“Notepad”或者你自己熟悉的编辑器比如VS Code。注意如果你机器上装了VS Code这个下拉菜单里也会出现直接选就行。第五步调整PATH环境这一步非常非常重要。有三个选项选项含义建议Use Git from Git Bash only只能在Git Bash里用git命令不选Git from the command line and also from 3rd-party software在CMD和PowerShell里也能用git命令推荐Use Git and optional Unix tools from the Command Prompt不仅能在CMD里用还能用Unix工具可能覆盖系统自带命令不推荐大部分人的需求是打开CMD或PowerShell敲git --version就能看到版本号。这就要求选第二个选项“Git from the command line and also from 3rd-party software”。选这个选项后安装程序会自动帮你把Git的bin目录加到系统的PATH变量里。第六步选择HTTPS后端这一步两个选项“Use the OpenSSL library”使用标准TLS/SSL证书大多数情况都稳定。“Use the native Windows Secure Channel library”使用Windows系统自带的证书管理好处是能自动适配企业内网自签名证书。如果你只是个人开发选默认的OpenSSL就行如果你是公司内网环境连的是自建Git服务器且服务器用的证书是企业内发的那选“Windows Secure Channel”会让你少折腾很多。我见过好几个公司统一要求用Schannel的案例就是因为OpenSSL在验证内网证书时会报错。第七步行结束符转换这个必讲。Windows换行是CRLF回车换行两个字符Linux/macOS是LF只有换行。如果不处理同一份代码在Windows上打开和Linux上打开Git会认为整个文件都变了。Git的解决办法是提供三种模式“Checkout Windows-style, commit Unix-style line endings”检出时转成CRLF提交时转成LF。推荐。“Checkout as-is, commit Unix-style line endings”检出时不动提交时转LF。“Checkout as-is, commit as-is”完全不转换。作为个人开发者直接选第一个最稳妥这也是最主流的配置。后面我在环境配置小节还会讲对应的core.autocrlf参数现在先按推荐选。第八步选择终端模拟器两个选项“Use MinTTY”Git官方推荐的模拟器支持更多终端特性颜色显示更好。“Use Windows’ default console window”使用Windows自带的CMD窗口和系统风格一致。选MinTTY在Git Bash里看git log的高亮颜色明显更舒服。第九步其他扩展选项“Enable file system caching”开启后Git会缓存文件系统信息提升操作性能。默认勾选保留。“Enable Git Credential Manager”启用凭证管理器。强烈建议勾选这样你通过HTTPS连接远程仓库时第一次输入账号密码后会保存下来后面就不用反复输入了。“Enable symbolic links”启用符号链接。这个需要系统管理员权限普通用户不建议开因为如果后续操作不当容易出权限问题。一路Next最后点Install安装完成。2.3 安装完成后的验证安装完成后打开CMD输入git --version如果看到类似git version 2.45.2.windows.1的输出说明安装成功且PATH配置正确。如果提示“不是内部或外部命令”说明Git没进PATH。两个解决办法一是重装并重新选择第二项二是手动加环境变量。手动加环境变量的方法右键“此电脑”→“属性”→“高级系统设置”→“环境变量”在“系统变量”列表中找到“Path”双击打开点“新建”把Git的安装路径下的cmd目录加进去。比如C:\Program Files\Git\cmd。加完之后重新开一个CMD窗口才能生效。3. macOS与Linux安装要点3.1 macOS下用Homebrew安装macOS用户如果装了Homebrew一条命令就搞定了brew install gitHomebrew会自动处理依赖和PATH比去官网下pkg文件方便得多。但如果你没有装Homebrew或者公司电脑不允许装Homebrew那就去官网下载.dmg安装包。这里同样面临下载慢的问题macOS的安装包也可以走镜像站不过很多镜像站主要同步Windows安装包macOS版本不一定有同步。如果官网下载实在太慢还有一个思路直接下载源码编译安装前提是你已经安装了Xcode Command Line Toolsgit clone https://github.com/git/git.git cd git make configure ./configure --prefix/usr/local make sudo make install这个方法好处是能装到最新版本坏处是编译耗时比较长。一般还是推荐直接用Homebrew除非你有定制编译参数的需求。3.2 Linux各发行版安装方式Linux安装Git多数情况不需要刻意去官网下载直接用发行版的包管理器就行。发行版命令Debian/Ubuntusudo apt install gitCentOS/RHELsudo yum install gitFedorasudo dnf install gitArch Linuxsudo pacman -S git这些包管理器默认走的是系统配置的软件源。如果你觉得系统源下载慢可以换成国内的镜像源比如阿里云、清华源具体做法这里不展开网上很多教程。要注意的一点是有些老旧发行版的系统源里Git版本会偏老比如CentOS 7默认源里的Git还是2.x很老的版本某些新功能用不了。这种情况下可以考虑添加额外的源来装新版本。安装完同样验证一下git --version4. 环境配置让Git在终端里听话4.1 验证Git是否进入PATH装完Git后第一件事是打开终端验证。Windows打开CMD或PowerShellmacOS/Linux打开终端输入git --version这一步没问题的话基本就算成功了。接下来要做的全局配置才是真正影响日常使用的关键。4.2 设置用户信息Git每次提交代码时都需要知道你是谁。这个信息记录的是提交人不是登录凭证。设置方法git config --global user.name 你的名字 git config --global user.email 你的邮箱设置完可以查看git config --global --list注意邮箱最好和你用的代码托管平台比如GitHub、GitLab、Gitee的邮箱保持一致这样提交记录才能关联到你的账号头像。填错了也没关系随时可以重新设置。4.3 换行符与编码处理前面安装时已经选过了换行符模式但如果你当时选的不是推荐项或者不同系统之间协作比较多最好手动确认一下git config --global core.autocrlf true这个配置在Windows上是“检出转CRLF提交转LF”和我前面推荐的选项一致。macOS/Linux上更推荐git config --global core.autocrlf input意思是“检出不管提交时转LF”。另外一个容易忽略的是文件名编码问题。Windows默认编码和Linux/macOS不太一样如果你在仓库里存了中文文件名换台电脑clone下来可能会出现乱码。建议开启git config --global core.quotepath false开启后Git显示中文文件名就不再用转义字符直接显示正常文字。4.4 配置凭证管理避免反复输密码用HTTPS方式clone私有仓库时每次pull/push都要输账号密码非常麻烦。在Windows上装Git时如果勾选了“Git Credential Manager”那基本不用额外配置第一次输密码后会自动记住。如果你想在Linux或者macOS上实现类似效果可以使用git config --global credential.helper store不过这个方式是明文存储安全性一般。更推荐使用libsecret或者osxkeychainLinux环境下可以安装sudo apt install libsecret-1-0 gnome-keyring git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecretmacOS自带osxkeychain只需要git config --global credential.helper osxkeychain4.5 配置别名与常用命令用久了你会发现有些命令组合特别长比如查看分支带图表的git log --graph --oneline --all可以设置一个别名git config --global alias.lg log --graph --oneline --all之后敲git lg就行。我常用的几个别名git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.cm commit -m这些配置会写入用户目录下的.gitconfig文件你随时可以用文本编辑器打开查看和修改。5. 下载慢的问题用镜像站就够了吗5.1 clone远程仓库也慢怎么办安装包的问题解决了但有些朋友随即就遇到了下一个慢问题用git clone拉取GitHub上的项目时依然慢得离谱。这是很多新手装完Git后遇到的第二个打击。解决方案主要有三类第一类使用GitHub镜像仓库有些国内的代码托管平台比如Gitee提供“从GitHub导入仓库”的功能。你可以先把GitHub上的项目导入到Gitee再从Gitee克隆。这样速度会快非常多缺点是需要手动操作且项目后续更新时你还需要重新同步。第二类使用代理加速这个要看你本地的网络环境是否允许能用代理的话直接在Git里配置git config --global http.proxy http://127.0.0.1:端口号 git config --global https.proxy http://127.0.0.1:端口号用完记得取消git config --global --unset http.proxy git config --global --unset https.proxy提示这里不讨论如何使用代理的问题只说明Git命令层面的配置方法。如果你没有代理环境跳过这段就行。第三类使用加速器工具这里不展开说具体用哪个因为工具变化太快说了也容易被时代淘汰。核心思路就是在网络层做请求转发让Git的请求走一条更流畅的链路。但要注意安全合规不要使用来路不明的工具。5.2 换源后的一些小坑使用镜像站下载安装包本身非常安全因为镜像站同步的是官方原文件校验值都不变。需要注意的是下载后最好确认一下文件名现在Git的Windows安装包还有64-bit和32-bit两套下载错了会直接导致无法安装。另外镜像站的版本更新可能比官网慢一些新版本发布一般要延迟几天。如果你不是特别着急用新功能完全无所谓如果你确实需要最新版本那就只能去官网下载或者等镜像站同步。6. 常见问题与排查技巧6.1 安装包下载到一半中断这是最常见的坑。官方源下载到一半断掉再接着下载又从头开始反反复复。解决办法就是用镜像站按我前面说的直接从阿里云、清华源下载。如果镜像站也断大概率是你本地网络本身有问题试试用下载工具比如浏览器自带的下载管理或者IDM等多线程工具来下载。6.2 安装完成但git命令不可用现象打开CMD输入git --version提示“git不是内部或外部命令”。原因安装时没有把Git加到PATH或者加了但是路径不对。解决方案重新运行安装程序选择“Modify”修改把PATH选项改成第二项“Git from the command line and also from 3rd-party software”。或者手动去环境变量Path里添加Git的cmd目录。6.3 提交代码时提示user.name和user.email未设置现象执行git commit时提示Please tell me who you are.原因还没有设置全局用户信息。解决方案按前面4.2小节执行两条配置命令即可。6.4 换行符报警告现象执行git add时提示warning: LF will be replaced by CRLF in file.txt原因文件在仓库里是LF换行工作区需要转成CRLF。解决方案这个提示并不影响正常使用你不用管它。如果不希望看到提示可以执行git config --global core.safecrlf false但我不建议关掉这个安全提示它在某些场景下能帮你发现文件编码异常。6.5 克隆时提示SSL证书问题现象执行git clone https://...时报SSL certificate相关错误比如SSL certificate problem: unable to get local issuer certificate原因使用了自签名证书或者公司内网做了SSL解密Git无法验证服务器证书。解决方案分两步排查。先试试临时关闭SSL校验git config --global http.sslVerify false这个操作能解决当前问题但不推荐长期开着因为等于放弃了HTTPS的加密验证能力容易被人劫持。更好的做法是把内网证书加到系统的受信任根证书列表里这样就不需要关闭校验了。6.6 Git Bash里的中文乱码现象git log显示提交记录时中文全部变成乱码或者转义字符。解决方案git config --global core.quotepath false git config --global gui.encoding utf-8 git config --global i18n.commit.encoding utf-8 git config --global i18n.logoutputencoding utf-8在Git Bash界面里右键选择“Options”→“Text”把Locale改成zh_CNCharacter set改成UTF-8重启生效。6.7 安装时卡在“Updating the ‘git’ PATH”现象安装到最后一步界面一直卡在“Updating the git PATH”等很久都不动。原因安装程序在修改系统环境变量时可能被安全软件拦截或者当前用户权限不足。解决方案把安全软件暂时退出然后重新运行安装程序。如果还是不行检查一下当前登录的Windows账号是不是管理员不是的话切到管理员账号再试。7. 一份可以直接抄的配置清单最后总结一份我目前生产环境中常用的全局配置你直接照着跑一遍基本就不用再折腾了# 用户信息 git config --global user.name Your Name git config --global user.email youremail.com # 换行符 git config --global core.autocrlf true # 中文文件名显示 git config --global core.quotepath false # 凭证管理 git config --global credential.helper manager # 常用别名 git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.cm commit -m git config --global alias.lg log --graph --oneline --all # 默认编辑器根据你实际情况改 git config --global core.editor code --wait最后一条是针对VS Code用户把Git默认编辑器从Vim换成VS Code执行git commit时会自动打开VS Code让你写提交信息。我在实际使用中还有一个体会很多人配置完Git就着急去clone项目结果发现分支看不懂、回滚不会用又开始觉得Git难。其实Git的学习曲线陡不是因为它命令多而是心智模型和以往的版本管理软件差异太大。建议你装好之后先用本地仓库练手在Git Bash里跑一遍init、add、commit、log、branch、merge这些基础操作把文件的状态变化摸清楚再上远程仓库实践。等这一套跑顺了你再回来看那些命令参数基本不用背就自然记住了。
返回列表