Git 安装避坑指南_git下载最新的 ca 证书包
Git 是开发者必备的版本控制工具,但在安装过程中可能会遇到一些常见问题。以下是 Git 安装避坑指南,帮助你顺利安装并配置 Git。
1. 下载 Git 安装包
避坑点:选择正确的版本
- Windows 用户:
- 从 Git 官网 下载最新版。
- 避免从第三方网站下载,防止捆绑恶意软件。
- macOS 用户:
- 推荐使用 Homebrew 安装(
brew install git
),确保版本最新。 - 也可以从官网下载
.pkg
安装包。
- 推荐使用 Homebrew 安装(
- Linux 用户:
- 使用包管理器安装(如
sudo apt install git
或sudo yum install git
)。 - 避免手动编译安装,除非有特殊需求。
- 使用包管理器安装(如
2. 安装过程中的关键配置
避坑点:正确选择安装选项
(1) Windows 安装向导
- 选择组件:
- 勾选 Git Bash Here 和 Git GUI Here(方便使用命令行和图形界面)。
- 如果需要与 Windows 命令行集成,勾选 Add to PATH(但可能影响其他工具,谨慎选择)。
- 选择默认编辑器:
- 推荐选择 VSCode 、Notepad++ 或 Nano(避免选择不熟悉的编辑器)。
- 调整 PATH 环境变量:
- 推荐选择 \"Git from the command line and also from 3rd-party software\"(中间选项)。
- 如果选择 \"Use Git from Git Bash only\",可能无法在 CMD/PowerShell 中使用 Git。
- 选择 SSH 客户端:
- 推荐使用 OpenSSH(除非你有特殊需求)。
- 配置行尾符(Line Endings):
- Windows 用户:选择 \"Checkout as-is, commit as-is\"(避免自动转换行尾符导致问题)。
- 跨平台开发:建议团队统一使用 LF(Linux/macOS 风格)。
- 终端模拟器:
- 推荐选择 \"MinTTY\"(更稳定)。
- 额外选项:
- 勾选 \"Enable file system caching\"(提升性能)。
- 勾选 \"Enable symbolic links\"(如果需要符号链接支持)。
(2) macOS/Linux 安装
- 使用包管理器安装时,确保更新包列表:
sudo apt update && sudo apt install git # Debian/Ubuntu
sudo yum update && sudo yum install git # CentOS/RHEL
- 如果使用 Homebrew:
brew update && brew install git
3. 安装后的关键配置
避坑点:正确配置用户信息
安装完成后,必须配置 用户名和邮箱,否则提交记录会显示未知作者:
git config --global user.name \"Your Name\"
git config --global user.email \"your.email@example.com\"
- 检查配置:
git config --list
避坑点:选择合适的默认分支名称
- Git 2.28+ 允许自定义默认分支名称(如
main
替代master
):
git config --global init.defaultBranch main
4. 常见问题及解决方案
(1) Git 命令无法识别(Windows)
- 问题:在 CMD/PowerShell 中输入
git
提示“不是内部或外部命令”。 - 解决方案:
- 检查是否勾选了 \"Add Git to PATH\"(安装时)。
- 手动添加 Git 的
bin
目录到PATH
环境变量(如C:\\Program Files\\Git\\bin
)。 - 不用中文路径或含空格路径(如
C:\\新建文件夹\\Git
),推荐全英文路径(如D:\\DevTools\\Git
),避免权限异常和命令失效。 - 安装前暂停或者关闭360安全卫士、联想管家等防护软件,避免误删组件导致安装失败。
- Windows用户需区分32/64位系统(可以在「此电脑」图标上鼠标右键→属性→设备规格中查看)。
(2) SSH 密钥配置问题
- 问题:克隆仓库时提示
Permission denied (publickey)
。 - 解决方案:
- 生成 SSH 密钥并添加到 Git 平台(GitHub/GitLab):
ssh-keygen -t ed25519 -C \"your.email@example.com\"
eval \"$(ssh-agent -s)\"
ssh-add ~/.ssh/id_ed25519
- 将
~/.ssh/id_ed25519.pub
的内容添加到 GitHub/GitLab 的 SSH Keys 设置。
- 生成 SSH 密钥并添加到 Git 平台(GitHub/GitLab):
(3) 行尾符(Line Endings)问题
- 问题:跨平台开发时,文件行尾符(CRLF vs LF)导致不必要的变更。
- 解决方案:
- 统一配置:
git config --global core.autocrlf input # macOS/Linux
git config --global core.autocrlf true # Windows
- 或者禁用自动转换:
git config --global core.autocrlf false
- 统一配置:
(4) Git 版本过旧
- 问题:某些新功能不可用(如
git switch
、git restore
)。 - 解决方案:
- Windows:重新下载最新版安装包覆盖安装。
- macOS/Linux:使用包管理器更新:
sudo apt update && sudo apt upgrade git # Debian/Ubuntu
brew upgrade git # macOS (Homebrew)
5. 推荐工具
- Git GUI 工具(可选):
- Sourcetree(跨平台,适合新手)
- GitHub Desktop(适合 GitHub 用户)
- GitKraken(功能强大,界面美观)
- 终端增强:
- Oh My Zsh(macOS/Linux,提升 Git 命令行体验)
- WSL2(Windows 用户推荐,原生 Linux 环境)
总结
Permission denied
错误✅ 最终建议:
- Windows 用户:安装时勾选 \"Git Bash Here\" 和 \"Add to PATH\"。
- macOS/Linux 用户:优先使用包管理器(
apt
/yum
/brew
)安装。 - 所有用户:安装后立即配置
user.name
和user.email
。
按照这个指南,你可以避免 Git 安装的常见问题,顺利开始版本控制! 🚀
拓展
解决 SSL 证书错误的方法
SSL 证书错误通常出现在访问 HTTPS 网站时,浏览器或 Git 等工具提示证书无效、不受信任或已过期。以下是常见原因和解决方案:
1. 常见 SSL 证书错误类型
2. 通用解决方案
(1) 检查系统时间和时区
- 问题:SSL 证书有严格的有效期,系统时间错误会导致验证失败。
- 解决:
- Windows:设置 → 时间和语言 → 自动设置时间。
- macOS/Linux:使用
ntpdate
或timedatectl
同步时间。
(2) 更新根证书(CA 证书)
- 问题:系统缺少最新的根证书,无法验证证书链。
- 解决:
- Windows:运行
certmgr.msc
,检查是否受信任的根证书。 - macOS:通过
钥匙串访问
更新证书。 - Linux:
sudo apt update && sudo apt install --reinstall ca-certificates # Debian/Ubuntu
sudo yum reinstall ca-certificates # CentOS/RHEL
- Windows:运行
(3) 忽略 SSL 验证(仅限测试环境)
- 风险:禁用 SSL 验证会降低安全性,仅用于临时测试。
- Git 全局禁用 SSL 验证(不推荐生产环境):
git config --global http.sslVerify false
- 恢复验证:
git config --global http.sslVerify true
3. 浏览器中的 SSL 错误解决
(1) 继续访问(不安全)
- 在浏览器提示证书错误时,选择 “高级” → “继续前往(不安全)”(仅限测试)。
(2) 手动安装证书
- 如果证书是自签名的(如本地开发环境):
- 下载证书(
.crt
或.pem
文件)。 - 导入到系统的受信任根证书存储:
- Windows:双击证书 → 安装到“受信任的根证书颁发机构”。
- macOS:钥匙串访问 → 拖入证书 → 右键“显示简介” → 设置为“始终信任”。
- 下载证书(
4. Git 中的 SSL 错误解决
(1) 配置 Git 使用系统的证书存储
- 确保 Git 使用系统的 CA 证书:
git config --global http.sslCAInfo /etc/ssl/certs/ca-certificates.crt # Linux/macOS
# 或(Windows Git 默认路径)
git config --global http.sslCAInfo \"C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt\"
(2) 指定自定义证书路径
- 如果公司有内部 CA,下载证书并配置 Git:
git config --global http.sslCAInfo /path/to/custom-ca-bundle.crt
(3) 使用 SSH 替代 HTTPS
- 如果 HTTPS 证书问题无法解决,改用 SSH:
git remote set-url origin git@github.com:user/repo.git # GitHub 示例
5. 开发环境中的自签名证书
(1) 生成自签名证书
- 使用 OpenSSL 生成证书(适用于本地开发):
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
(2) 配置服务器使用证书
- 在本地开发服务器(如 Node.js、Nginx)中配置生成的
cert.pem
和key.pem
。
(3) 信任自签名证书
- 将
cert.pem
导入系统的受信任根证书存储(方法同上)。
6. 企业网络中的 SSL 拦截
- 问题:企业网络可能使用中间人代理(MITM)拦截 HTTPS,导致证书错误。
- 解决:
- 联系 IT 部门安装企业根证书。
- 如果无法安装,临时禁用 SSL 验证(仅限测试)。
7. 检查证书链是否完整
- 使用在线工具(如 SSL Labs)检查证书链是否完整。
- 如果中间证书缺失,服务器需配置完整的证书链。
总结
http.sslCAInfo
或改用 SSH✅ 最终建议:
- 生产环境:确保证书由公共 CA 签发且未过期。
- 本地开发:使用自签名证书并手动信任。
- Git 用户:优先使用 SSH 避免 HTTPS 证书问题。
按照这些方法,你可以解决大多数 SSL 证书错误! 🔒