> 技术文档 > Git 安装避坑指南_git下载最新的 ca 证书包

Git 安装避坑指南_git下载最新的 ca 证书包

Git 是开发者必备的版本控制工具,但在安装过程中可能会遇到一些常见问题。以下是 Git 安装避坑指南,帮助你顺利安装并配置 Git。

1. 下载 Git 安装包

避坑点:选择正确的版本

  • Windows 用户
    • 从 Git 官网 下载最新版。
    • 避免从第三方网站下载,防止捆绑恶意软件。
  • macOS 用户
    • 推荐使用 Homebrew 安装(brew install git),确保版本最新。
    • 也可以从官网下载 .pkg 安装包。
  • 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 设置。

(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 switchgit 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 环境)

总结

步骤 关键点 避坑建议 下载 从官网或包管理器下载 避免第三方网站,防止捆绑软件 安装 正确选择 PATH 和行尾符配置 Windows 用户务必勾选 \"Add to PATH\" 配置 设置用户名、邮箱、默认分支 确保提交记录显示正确作者 SSH 密钥 生成并添加到 Git 平台 避免 Permission denied 错误 更新 定期升级 Git 版本 确保使用最新功能

✅ 最终建议

  • Windows 用户:安装时勾选 \"Git Bash Here\" 和 \"Add to PATH\"
  • macOS/Linux 用户:优先使用包管理器(apt/yum/brew)安装。
  • 所有用户:安装后立即配置 user.name 和 user.email

按照这个指南,你可以避免 Git 安装的常见问题,顺利开始版本控制! 🚀

拓展

解决 SSL 证书错误的方法

SSL 证书错误通常出现在访问 HTTPS 网站时,浏览器或 Git 等工具提示证书无效、不受信任或已过期。以下是常见原因和解决方案:

1. 常见 SSL 证书错误类型

错误类型 可能原因 NET::ERR_CERT_COMMON_NAME_INVALID 证书域名与访问的域名不匹配 NET::ERR_CERT_DATE_INVALID 证书已过期或尚未生效 NET::ERR_CERT_AUTHORITY_INVALID 证书由不受信任的 CA 签发 SSL_ERROR_BAD_CERT_DOMAIN 域名不匹配(常见于本地开发) Git 报错:SSL certificate problem Git 无法验证证书链

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

(3) 忽略 SSL 验证(仅限测试环境)

  • 风险:禁用 SSL 验证会降低安全性,仅用于临时测试。
  • Git 全局禁用 SSL 验证(不推荐生产环境):
    git config --global http.sslVerify false
  • 恢复验证
    git config --global http.sslVerify true

3. 浏览器中的 SSL 错误解决

(1) 继续访问(不安全)

  • 在浏览器提示证书错误时,选择 “高级” → “继续前往(不安全)”(仅限测试)。

(2) 手动安装证书

  • 如果证书是自签名的(如本地开发环境):
    1. 下载证书(.crt 或 .pem 文件)。
    2. 导入到系统的受信任根证书存储:
      • 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)检查证书链是否完整。
  • 如果中间证书缺失,服务器需配置完整的证书链。

总结

场景 解决方案 系统时间错误 同步系统时间 根证书过期 更新系统的 CA 证书 Git 报 SSL 错误 配置 http.sslCAInfo 或改用 SSH 自签名证书 生成证书并手动信任 企业网络拦截 安装企业根证书或临时禁用验证

✅ 最终建议

  • 生产环境:确保证书由公共 CA 签发且未过期。
  • 本地开发:使用自签名证书并手动信任。
  • Git 用户:优先使用 SSH 避免 HTTPS 证书问题。

按照这些方法,你可以解决大多数 SSL 证书错误! 🔒