必须重装新版git:系统自带git版本老旧(≤2.32),不支持git restore等新特性,易导致github连接、git-lfs及vs code插件静默失败;应通过homebrew安装并配置path优先级,再完成用户信息、换行设置和ssh密钥配置。

Mac 上 Git 通常已预装,但版本普遍老旧(如 git version 2.30.1 或更早),无法支持现代工作流中的关键特性(如 git restore、git switch、稀疏检出增强、部分克隆等)。直接用系统自带的 /usr/bin/git 很可能在后续连接 GitHub、使用 git-lfs 或配合 VS Code 插件时遇到静默失败或功能缺失。所以——**别跳过重装,必须换一个新版 Git**。
怎么确认你用的其实是老 Git?
打开终端,运行:
which git<br>git --version<br>xcode-select -p
如果输出是 /usr/bin/git 且版本号 ≤ 2.32,同时 xcode-select -p 返回类似 /Library/Developer/CommandLineTools,说明你正在用 Xcode 自带的旧版 Git —— 它由 Apple 维护,更新滞后,不兼容很多开源工具链。
- 系统 Git 不会随 macOS 升级而更新,只在 Xcode 大版本升级时被动更新
-
brew install git默认不会覆盖/usr/bin/git,而是装到/opt/homebrew/bin/git(Apple Silicon)或/usr/local/bin/git(Intel),靠$PATH优先级生效 - 若
which git仍返回/usr/bin/git,说明你的 shell 配置没把 Homebrew 路径前置,git命令根本没走新版本
用 Homebrew 装 Git 是最稳的选择
Homebrew 提供最新稳定版 Git(截至 2026 年 3 月为 git 2.53.0),自动处理依赖(如 gettext、curl、openssl),且升级方便。它不碰系统路径,冲突风险低,适合日常开发。
- 先装 Homebrew(若未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 更新索引:
brew update - 装 Git:
brew install git - 验证是否生效:
git --version应输出 ≥ 2.40 的版本;which git应指向 Homebrew 路径(不是/usr/bin/git) - 如果
which git还是旧路径,检查 shell 配置文件(~/.zshrc或~/.bash_profile),确保有export PATH="/opt/homebrew/bin:$PATH"(Apple Silicon)或export PATH="/usr/local/bin:$PATH"(Intel),然后运行source ~/.zshrc
别忽略这三步基础配置
装完不配,第一次 git commit 就会报错:*** Please tell me who you are. 这不是警告,是硬性拦截。
- 设全局用户名:
git config --global user.name "Your Name" - 设全局邮箱(必须和 GitHub/GitLab 账号一致):
git config --global user.email "you@example.com" - 启用自动换行修正(避免 Windows/Mac/Linux 混合编辑时 CRLF/LF 错乱):
git config --global core.autocrlf input - 验证配置:
git config --list,重点确认user.name和user.email已写入,且没被某个仓库的本地配置覆盖
SSH 密钥没配好,git push 就永远卡在密码输入
HTTPS 方式每次 push 都要输 Token(GitHub 已禁用密码登录),而 SSH 是唯一免交互、可复用的方案。但很多人生成了密钥却没让 Git 认出来。
- 生成密钥(推荐 ed25519):
ssh-keygen -t ed25519 -C "you@example.com" - 启动 agent 并加载私钥:
eval "$(ssh-agent -s)"&&ssh-add ~/.ssh/id_ed25519 - 复制公钥:
pbcopy ,粘贴到 GitHub → Settings → SSH and GPG keys - 测试连通性:
ssh -T git@github.com,看到Hi xxx! You've successfully authenticated...才算通 - 克隆时务必用 SSH 地址:
git clone git@github.com:owner/repo.git,不是https://github.com/owner/repo.git
容易被忽略的是:如果你同时用 GitHub 和 Gitee,得生成多对密钥,并在 ~/.ssh/config 里做 Host 别名映射,否则 Git 会默认只用 id_rsa 或第一个匹配的密钥,导致其中一个平台认证失败。











