首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MacBook Pro 安装、配置、升级 Git 详细教程与方法大全

MacBook Pro 安装、配置、升级 Git 详细教程与方法大全

作者头像
猫头虎
发布于 2025-06-08 00:48:32
发布于 2025-06-08 00:48:32
47300
代码可运行
举报
运行总次数:0
代码可运行

MacBook Pro 安装、配置、升级git详细教程与方法大全

前言

Git 是当前最流行的分布式版本控制系统(Distributed Version Control System,DVCS),几乎所有与软件开发或文档管理相关的项目都离不开它。尤其是对于开发者而言,了解如何在 macOS(MacBook Pro)平台上安装、配置并及时升级 Git 版本,是顺利开展协作开发的基础。本文将全面讲解从安装到升级到常见问题的解决方案,力求帮助你扫清概念困惑、明确实操步骤。

面向读者:

  • 刚入门 Git,想知道如何在 MacBook Pro 上从零开始安装与配置;
  • 了解安装过 Git,想进一步学习如何升级至最新版本;
  • 对 Git 命令常见操作不熟悉,希望有一整套速查与故障排查;

为什么需要使用 Git?

作者✍ 公众号:猫头虎技术团队

  1. 分布式与本地仓库
    • 与集中式系统(如 SVN)不同,Git 的每个克隆(clone)都包含完整的仓库历史,你可以在本地离线执行绝大部分操作(提交、查看历史、生成补丁等)。
    • 版本库不仅仅是远端仓库,更是一份“一比特”级的完整拷贝。即使远端故障,本地也能继续工作,保证了数据的冗余与安全。
  2. 高速与高效
    • Git 对分支与合并的操作非常轻量,切换分支几乎瞬间完成,且历史记录的存储方式利于快速查找与差异对比。
    • Git 在本地完成大部分计算,无需频繁向服务器请求,带来更快捷的操作体验。
  3. 分支管理 & 协作流程
    • Git 提供了强大的分支功能,允许你在 featurebugfixrelease 等独立分支上进行工作,实现并行开发与代码隔离。
    • 通过 Pull Request(PR)或 Merge Request(MR),团队成员可以在线评审代码,提高代码质量与协作效率。
  4. 丰富生态 & 工具链支持
    • GitHub、GitLab、Bitbucket 等托管平台日益流行,为开源和企业项目提供了完善的管理界面、CI/CD 集成、代码评审与 Wiki 功能。
    • 各类 GUI 客户端(如 Tower、Sourcetree、GitKraken)以及 IDEXcode、VSCode、IntelliJ IDEA)原生或插件支持 Git,让工作更具可视化与友好体验。

如果你想了解更深入的 Git 原理、命令详解或 Git Flow 工作流,可以参考猫头虎技术团队公众号里的系列文章。本篇重点在“如何在 MacBook Pro 上安装、配置与升级 Git”,确保你手上有一套干净、最新的开发环境。


在 macOS 上安装 Git

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

在 macOS(尤其是 macOS Catalina 及以后版本)上,系统通常会自带一个旧版本的 Git(通过命令行开发工具 Command Line Tools 安装)。但一般情况下,这个版本过旧,且不便于管理与升级。因此,推荐通过 Homebrew 或官方 Installer 安装最新版本。以下根据用户习惯与场景列举三种常见方式。

方法一:通过 Homebrew 安装

安装 Homebrew(如果未安装)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 访问 Homebrew 官网 获取最新安装脚本;
  • 执行上述命令后,会自动安装 Homebrew 并配置环境变量。

确认 Homebrew 安装成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew -v
  • 如果出现版本号与说明,则说明 Homebrew 安装正常;

使用 Homebrew 安装 Git

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install git

安装完成后,Homebrew 会将 Git 二进制放在 /usr/local/bin/git(Intel 芯片)或 /opt/homebrew/bin/git(M 系列芯片)。

如果你已经安装过旧版本的 Git,直接执行升级:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew upgrade git

Homebrew 会自动检测并下载最新的 Git 包。

验证安装与路径优先级

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which git
git --version
  • 输出如 /usr/local/bin/git(或 /opt/homebrew/bin/git)表示你正在使用 Homebrew 版本;
  • 版本号应当高于系统预装版本。

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

方法二:通过官方 Installer 安装

下载官方 Installer

  • 访问:https://git-scm.com/download/mac
  • 点击 “Download macOS Git Installer” 链接,会获取一个 .dmg 文件,如 git-2.xx.x-intel-universal-mavericks.dmggit-2.xx.x-arm64-monterey.dmg,具体取决于最新版本与系统兼容。

运行安装程序

  • 双击 .dmg,将 Git 应用拖拽到 “Applications” 或按照安装向导提示完成。
  • 安装完成后,系统会自动将 Git 添加到 /usr/local/git/bin/git

修改 PATH 环境变量(如有必要)

执行 which git 看到的路径如果是 /usr/bin/git,说明仍在使用系统自带的旧版本;

编辑 ~/.zshrc~/.bash_profile,将 /usr/local/git/bin 放在 PATH 前端:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export PATH="/usr/local/git/bin:$PATH"

保存并 source ~/.zshrc,使环境变量生效;

验证安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git --version
  • 若输出如 git version 2.xx.x,说明使用的是官方发行版本;
方法三:通过源码编译安装(可选,高级用户)

安装依赖

需要先安装 Xcode Command Line Tools:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xcode-select --install

安装一些必要的库,如 opensslzlib 等(可通过 Homebrew 安装):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew install openssl zlib curl

下载 Git 源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://github.com/git/git/archive/v2.xx.x.tar.gz
tar -zxf v2.xx.x.tar.gz
cd git-2.xx.x

编译与安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make configure
./configure --prefix=/usr/local/git --with-openssl=$(brew --prefix openssl)
make all
sudo make install
  • --prefix 可以指定安装目录,便于统一管理;
  • 编译完成后,执行 git --version 验证是否已经安装在 /usr/local/git/bin/git

添加到 PATH

编辑 ~/.zshrc~/.bash_profile,加入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export PATH="/usr/local/git/bin:$PATH"

执行 source ~/.zshrc 使更改生效;

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队


初始配置 Git

安装完成后,你需要进行一些基本配置,保证在提交代码、推送到远端仓库时不会遇到身份不明或信息不全的问题。对于初学者来说,以下 4 个方面的配置是最常见且最必要的。

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

设置用户名和邮箱

Git 提交(commit)时会记录提交人的信息。如果不配置,Git 会使用默认的主机名或操作系统用户名,导致协作者无法分辨提交者身份。

全局设置(推荐)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global user.name "你的姓名"
git config --global user.email "your_email@example.com"
  • --global 表示在当前用户下所有仓库都生效;
  • 常见场景:同一台电脑只拥有一个身份,用于个人开发或公司邮箱;

局部设置(针对单个仓库) 在某些项目中,你需要以不同身份提交(比如开源项目想用个人邮箱而公司项目用公司邮箱),可进入项目根目录执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config user.name "开源小明"
git config user.email "opensource@example.com"

验证配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global --list
git config --list  # 查看当前仓库的所有配置(包含全局和局部)
配置常用别名与编辑器

为了提升工作效率,你可以给常用命令设置简短别名,并指定默认编辑器(如修改提交信息时打开的文本编辑器)。

常用别名示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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.df "diff --cached"
git config --global alias.lg "log --oneline --graph --decorate"
  • 之后可以使用 git st 替代 git statusgit co 替代 git checkout

指定编辑器

默认情况下,Git 提交会打开 vim(对新手有一定挑战);

如果你更喜欢 nano

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global core.editor "nano"

如果你偏好图形化编辑器(如 VSCode):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global core.editor "code --wait"

“–wait” 参数确保 VSCode 关闭之后才继续执行 Git 提交;

开启颜色高亮与终端提示

Git 可以在终端中用颜色区分不同状态,让输出更直观。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global color.ui auto

auto 模式会根据终端是否支持颜色自动开启;

可以进一步针对某些命令单独配置颜色:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global color.status auto
git config --global color.branch auto
git config --global color.interactive auto
git config --global color.diff auto
全局与局部配置的区别
  • 全局配置:存储在 ~/.gitconfig 文件,适用于当前用户在所有仓库中的操作。
  • 系统级配置:存储在 /etc/gitconfig,影响系统上所有用户,一般不常修改。
  • 局部配置:存储在项目的 .git/config,只对当前仓库生效。

你可以通过 git config --global --editgit config --edit 直接打开编辑器进行可视化修改。


在 macOS 上使用 SSH Key 管理 Git 凭证

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

为了避免每次 git clonegit push 时输入用户名和密码,建议使用 SSH Key 进行认证。以下步骤演示了如何在 MacBook Pro 上生成并使用 SSH Key 与主流平台(如 GitHub、GitLab、Bitbucket)集成。

生成 SSH Key

检测是否已有 SSH Key

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -al ~/.ssh

如果看到 id_rsaid_rsa.pubid_ed25519id_ed25519.pub 等文件,说明已经存在;

如果没有,使用 OpenSSH 生成

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-keygen -t ed25519 -C "your_email@example.com"

-t ed25519:指定使用 Ed25519 算法(更安全、更短);如果老旧系统不支持,可换成 rsa

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

路径提示时直接回车会保存在 ~/.ssh/id_ed25519(或 id_rsa);

期间可设置加密密码短语 (passphrase),也可留空但不推荐。

启动 ssh-agent 并添加私钥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

--apple-use-keychain:将加密密码存储到 macOS 钥匙串中,方便自动解锁;

如果使用 RSA:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-add --apple-use-keychain ~/.ssh/id_rsa
将公钥添加到远程仓库(GitHub/GitLab/Bitbucket)

复制公钥内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pbcopy < ~/.ssh/id_ed25519.pub
  • 使用 pbcopy 将公钥拷贝到剪贴板;
  • 如果公钥是 id_rsa.pub,则 pbcopy < ~/.ssh/id_rsa.pub

在 GitHub 添加

  • 登录 GitHub,在右上角点击头像 → Settings → 左侧导航 SSH and GPG keysNew SSH key
  • 填写 Title(如 “MacBookPro-Work”),将剪贴板内容粘贴到 “Key” 区域;点击 “Add SSH key” 完成;

在 GitLab 添加

  • 登录 GitLab,点击右上角头像 → PreferencesSSH Keys → 粘贴公钥,设置过期时间(可选),点击 “Add key”;

在 Bitbucket 添加

  • 登录 Bitbucket,右上齿轮 → Personal settings → 左侧 SSH keysAdd key → 粘贴,点击 “Add”;
测试 SSH 连接
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh -T git@github.com
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh -T git@gitlab.com
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh -T git@bitbucket.org
  • 成功时会看到类似 Hi username! You've successfully authenticated, but GitHub does not provide shell access. 的提示;
  • 如果出现 Permission denied (publickey),请检查:
    • 私钥是否已正确添加到 ssh-agent;
    • 公钥是否正确粘贴到平台;
    • 是否设置了代理(Proxy)或防火墙阻止了连接;

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队


升级 Git 版本

随着 Git 社区的持续迭代,时常会发布新的功能和安全补丁。因此,定期升级到最新版非常必要。以下方法基于你已经成功安装 Git(通过 Homebrew、官方 Installer 或源码)。

通过 Homebrew 升级 Git

如果你是通过 Homebrew 安装的 Git,升级最为简单,也最常见。

更新 Homebrew 索引与升级 Git

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew update            # 更新 Homebrew 的软件包索引
brew upgrade git       # 升级 Git 到最新版本

brew update 会先拉取最新的 formula(配方),确保你要安装/升级的软件是最新的;

如果只想临时跳过 brew update(加快速度),可执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HOMEBREW_NO_AUTO_UPDATE=1 brew upgrade git

升级完成后,Homebrew 会在终端打印安装路径与状态,比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
==> Upgrading 1 outdated package:
git 2.45.1 -> 2.46.0
==> Upgrading git
🍺  /opt/homebrew/Cellar/git/2.46.0: 1,502 files, 49.5MB

验证升级是否生效

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which git
git --version
  • 确保 which git 路径仍然是 /usr/local/bin/git/opt/homebrew/bin/git(Homebrew 版);
  • git --version 输出的新版本号;

清理废弃版本(可选)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew cleanup git
  • 该命令会删除 Homebrew 仓库中保留的旧版本文件,释放磁盘空间;

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

通过官方 Installer 升级

若你之前是通过官方 .dmg 安装包安装的,可以重复下载最新版本的安装器进行覆盖式安装。

从官网重新下载

  • 访问 Git 官方下载页面,获取最新 .dmg 包;
  • 双击运行安装,按照向导操作即可,覆盖旧文件;

确认升级

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git --version
  • 确保输出版本与官网最新版本一致;
  • 若发现仍为旧版本,请检查 PATH 优先级,确认系统优先使用 /usr/local/git/bin/git(或相应目录);

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

通过源码重新编译升级(可选)

对于需要自定义编译选项或想要深入了解 Git 源码的高级用户,可以自己下载源码并重新编译最新版本。

下载最新源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://github.com/git/git/archive/refs/tags/v2.xx.x.tar.gz
tar -zxf v2.xx.x.tar.gz
cd git-2.xx.x

编译与安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
make configure
./configure --prefix=/usr/local/git-latest --with-openssl=$(brew --prefix openssl)
make all
sudo make install

--prefix 指向新的安装目录(如 /usr/local/git-latest),以免覆盖旧版本。

编译完成后,记得将新版路径添加至 PATH:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export PATH="/usr/local/git-latest/bin:$PATH"

你可以将此行添加到 ~/.zshrc~/.bash_profile 中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo 'export PATH="/usr/local/git-latest/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

验证新版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git --version
  • 会显示你编译的版本;
  • 如果想切换回 Homebrew 或官方版本,需修改 PATH 顺序或删除上述 --prefix 路径。
检查与解决多版本冲突

在 macOS 上,由于系统自带、Homebrew 安装、官方 Installer 安装、源码编译等多种方式并存,很容易出现多个 Git 版本共存的情况。以下几步帮助你定位并解决冲突。

列举所有可执行的 Git 路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which -a git

典型输出可能是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/usr/local/bin/git
/usr/bin/git
/usr/local/git-latest/bin/git

第一行即为当前 shell 认为的优先路径;

判断优先级顺序

在 macOS 中,PATH 环境变量从左到右依次检索可执行程序;

查看你的 PATH

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo $PATH

/usr/bin 位于 /usr/local/bin 前面,则会优先使用系统自带版本;

调整 PATH

编辑 ~/.zshrc(如果使用 zsh)或 ~/.bash_profile(bash):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 将 Homebrew 目录提前
export PATH="/usr/local/bin:$PATH"
# 或者将自定义编译目录放在最前
export PATH="/usr/local/git-latest/bin:$PATH"

保存后执行 source ~/.zshrc 使生效;

重新执行 which git 确认路径已变更;

删除多余版本(谨慎)

如果某个版本长时间不用,可以手动卸载:

Homebrew 版

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew uninstall git

官方 Installer 版: 找到安装时的卸载脚本(通常在 /usr/local/git 下有 uninstall.sh),或执行以下命令删除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rm -rf /usr/local/git
sudo rm /etc/paths.d/git

源码编译版: 如果记得当初的 --prefix 路径,可直接删除对应目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rm -rf /usr/local/git-latest

最终验证

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which git
git --version
  • 确保只保留你希望使用的那个版本;

作者✍️ 公众号:猫头虎技术团队


卸载 Git

作者✍️ 公众号:猫头虎技术团队

如果你需要彻底卸载 Git(例如从头重新安装,或切换到另一种安装方式),请根据当初的安装方式选择相应操作。

通过 Homebrew 安装的 Git

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew uninstall git
brew cleanup git   # 清理缓存与旧版本

通过官方 Installer 安装的 Git

官方安装包会生成一个卸载脚本,通常位于 /usr/local/git 下。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo /usr/local/git/uninstall.sh

如果找不到卸载脚本,可手动删除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rm -rf /usr/local/git
sudo rm /etc/paths.d/git
sudo rm /etc/manpaths.d/git

确保 .gitconfig.ssh 中的公钥等文件未误删。

通过源码编译安装的 Git

如果你当时指定了 --prefix=/usr/local/git-latest,只需删除该目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo rm -rf /usr/local/git-latest

并且清理 PATH 中对应的行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 编辑 ~/.zshrc 或 ~/.bash_profile,删除与 /usr/local/git-latest 相关的 export

确认卸载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which git
git --version
  • 如果卸载后仍然输出 /usr/bin/git,说明系统自带版本依旧存在;这是 macOS 默认路径,无法删除(与 Command Line Tools 绑定)。
  • 若一切干净,which git 会没有输出,或提示 git: command not found

常见问题与故障排查

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

以下是一线开发者在 macOS 上使用 Git 时可能遇到的常见问题,结合实战经验给出解决方法。初学者可以根据提示自行排查与修复。

Git 路径指向旧版本

现象:

  • 执行 git --version 后,发现版本仍然是 git version 2.x.x(老旧版本),或者路径是 /usr/bin/git

原因:

  • 系统自带 Command Line Tools 已经安装了旧版本,且其路径优先于 Homebrew 或官方安装目录。

解决:

确认 Homebrew 版本已经安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
which git   # 如果输出 /usr/local/bin/git 或 /opt/homebrew/bin/git,则说明 Homebrew 版 Git 存在

查看 PATH 顺序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo $PATH

确保 Homebrew 路径(如 /usr/local/bin/opt/homebrew/bin)位于 /usr/bin 之前;

如果不是,请编辑 ~/.zshrc~/.bash_profile

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export PATH="/usr/local/bin:$PATH"

source ~/.zshrc,使更改生效,再次执行 which git

Homebrew 提示权限不足或安装失败

现象:

  • 执行 brew install gitbrew upgrade git 时,提示 Permission denied 或者某些目录无法写入;

原因:

  • Homebrew 安装目录权限设置不当,或者 macOS 升级后需重新授予权限;
  • 如果使用 M1/M2 芯片,路径变为 /opt/homebrew,与老机器不一致;

解决:

修复 Homebrew 权限

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo chown -R $(whoami) /usr/local/Homebrew
sudo chown -R $(whoami) /usr/local/Cellar
sudo chown -R $(whoami) /usr/local/Frameworks
  • M 系列芯片将 /usr/local 替换为 /opt/homebrew

重新运行安装命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
brew update
brew install git

如果提示 Homebrew 未安装或命令找不到

重新安装 Homebrew:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
SSH 连接拒绝(Permission denied)

现象:

  • 执行 ssh -T git@github.com 返回 Permission denied (publickey).

原因:

  • 本地 SSH 私钥未正确添加到 ssh-agent
  • 公钥未正确复制到 GitHub/GitLab 等平台;
  • macOS 钥匙串(Keychain)未保存或已失效;

解决:

确保 SSH Key 存在

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls ~/.ssh
  • 如果没有 id_ed25519id_rsa,需要重新生成;

添加私钥到 ssh-agent

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
eval "$(ssh-agent -s)"
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

在平台侧重新核对公钥

  • 使用 pbcopy < ~/.ssh/id_ed25519.pub 确保公钥完整;
  • 登录 GitHub/GitLab/Bitbucket 仪表盘,删除旧的无效公钥,重新粘贴并保存;

测试连接并查看详细日志

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh -vT git@github.com
  • 该命令会输出连接流程,帮助你确认是哪个环节出错;

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

配置文件(.gitconfig)不生效

现象:

  • 明明在 ~/.gitconfig 或仓库的 .git/config 中写入了配置,执行 git config 命令却查不到。

原因:

  • 你可能在错误的用户目录或仓库目录下执行;
  • 文件格式不正确,或者有语法错误;
  • Git 命令读取的是系统级配置;

解决:

定位配置文件路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --global --edit   # 会打开 ~/.gitconfig
git config --system --edit   # 会打开 /etc/gitconfig
git config --edit            # 会打开当前仓库的 .git/config

确认文件编码与格式

确保没有 Windows 的换行符(CRLF),建议使用 UTF-8 编码;

格式示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[user]
    name = 你的姓名
    email = your_email@example.com
[core]
    editor = code --wait
[color]
    ui = auto

执行 git config --list --show-origin 查看读取顺序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git config --list --show-origin
  • 会列出每条配置以及其来源文件路径,方便你确认写入是否生效;

附录:常用 Git 命令速查表

作者✍️ 猫头虎微信号:Libin9iOak 公众号:猫头虎技术团队

下面列出一些常见入门场景下的 Git 命令,供快速参考。

操作场景

命令示例

备注

查看 Git 版本

git --version

输出当前 Git 版本号。

初始化仓库

git init

在当前目录创建一个空的 Git 仓库。

克隆远程仓库

git clone <repo_url>

从远程仓库拉取完整代码与历史记录。

查看当前状态

git status

显示工作区文件修改与暂存区状态。

添加文件到暂存区

git add <file> 或 git add .

. 代表把当前目录下所有改动文件添加到暂存区。

提交(commit)

git commit -m "提交说明"

提交暂存区改动到本地版本库。

查看提交日志(简洁)

git log --oneline --graph --decorate

图形化展示提交历史,适合快速查看分支与合并情况。

创建分支

git branch <branch-name>

只创建分支不切换。

切换分支

git checkout <branch-name>

切换到指定分支。

创建并切换新分支

git checkout -b <new-branch>

相当于先 git branch <new-branch>,再 git checkout <new-branch>。

合并分支

git merge <branch-name>

将指定分支合并到当前分支。

查看分支列表

git branch

当前分支前会有 * 标记。

删除本地分支

git branch -d <branch-name>

如果分支尚未合并,会提示无法删除;强制删除使用 -D。

查看远程仓库信息

git remote -v

列出所有远程仓库地址(fetch 与 push)。

新建远程仓库地址

git remote add origin <repo_url>

给当前仓库添加一个远程仓库别名为 origin。

推送到远程分支

git push -u origin <branch-name>

使用 -u 参数让本地分支与远程分支建立跟踪;下次可直接 git push。

拉取并合并远程更新

git pull

等同于 git fetch + git merge。

只拉取远程更新

git fetch

只把远程更新提取到本地,但不自动合并;适合先查看再决定是否合并。

查看差异

git diff

显示工作区与暂存区之间的差异。

查看暂存区与 HEAD 的差异

git diff --cached

或 git diff --staged。

查看某次提交的改动

git show <commit-hash>

显示对应提交详细 diff 信息。

回退到上一次提交

git reset --hard HEAD^

小心使用,会丢失工作区修改;可先 git stash 保存临时改动。

删除本地已经合并的分支

git branch -d <branch-name>

只删除本地引用,不会影响远程。

删除远程分支

git push origin --delete <branch-name>

把远程分支从远程仓库删除。

查看远程分支列表

git branch -r

列出所有远程分支;可以用 git branch -a 同时显示本地和远程分支。

配置用户名与邮箱

git config --global user.name "Name"git config --global user.email "email@example.com"

在提交时记录身份信息;去掉 --global 则只对当前仓库生效。

设置默认编辑器

git config --global core.editor "code --wait"

提交注释时会调用 VSCode,修改后等待文件关闭再继续。

设置颜色高亮

git config --global color.ui auto

让 Git 输出带颜色,区分不同状态。

作者✍️ 公众号:猫头虎技术团队


总结

作者✍️ 公众号:猫头虎技术团队

本文 详细介绍了在 MacBook Pro 上安装、配置与升级 Git 的全流程,并结合常见问题提供了针对性的排查思路。以下几点希望能够帮助你更好地掌握 Git 并在日常开发中避免困惑:

  1. 安装方式的选择
    • 建议优先使用 Homebrew 安装,由于它可以方便地管理版本、升级与卸载;
    • 如果对包管理器持保留态度,可选择官方 Installer;对源码编译有需求的用户,可自行编译。
  2. 配置的重要性
    • 姓名、邮箱这两项配置关系到代码历史与协作记录;
    • 别名、编辑器、颜色等配置能极大提升体验;
    • 熟悉 .gitconfig 的优先级(全局 vs 局部 vs 系统)避免配置不生效。
  3. SSH Key 凭证管理
    • 使用 SSH Key 取代用户名/密码,不仅安全,还避免频繁输入密码;
    • 将公钥正确添加到 GitHub/GitLab/Bitbucket,灵活管理多套 Key;
  4. 版本升级与冲突解决
    • 定期升级至最新稳定版本,享受新特性和安全修复;
    • 妥善管理系统自带与第三方安装版本,调整 PATH 保证使用预期版本;
  5. 常见问题与排查
    • 理解 SSH 连接流程、keychain 管理;
    • 熟悉 Homebrew 安装过程中可能出现的权限问题及修复方法;
    • 学会使用 git config --list --show-origin 查找配置来源。

至此,你应该已经掌握了在 macOS (MacBook Pro) 环境下如何从零开始安装、配置并升级 Git,更具备了基本的故障排查能力。后续只需多加练习常用命令与分支管理流程,就能轻松应对大多数 Git 场景。希望本文对你有所帮助,欢迎关注“猫头虎技术团队”公众号,获取更多实用技术干货,一起成长!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
鸿蒙开发学习(一)之ArkTS
ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS,Microsoft)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语言开发能力。
六月的雨
2023/11/16
3.1K0
鸿蒙开发学习(一)之ArkTS
遥遥领先,HarmonyOS的ArkTS应用入门实操
HarmonyOS提供了一套UI开发框架,即方舟开发框架(ArkUI框架)。方舟开发框架可为开发者提供应用UI开发所必需的能力,比如多种组件、布局计算、动画能力、UI交互、绘制等。
杨不易呀
2023/12/02
2.1K1
遥遥领先,HarmonyOS的ArkTS应用入门实操
四、HarmonyOS应用开发-ArkTS开发语言介绍
TypeScript 是一个开源的编程语言,本章节只介绍了TypeScript的基础语法知识,更多内容大家可以参考 TypeScript 的官方教程(https://www.typescriptlang.org/docs/)。大家在学习过程中,如果没有搭建TypeScript的开发环境,也可以直接使用在线 Playground 平台(https://www.typescriptlang.org/play)进行编码练习。没有接触过 TypeScript 的同学可以先补齐相关的语法基础,再进入 HarmonyOS 的相关开发学习之旅。
跟着飞哥学编程
2024/05/24
9430
四、HarmonyOS应用开发-ArkTS开发语言介绍
体验一下使用 ArkUI 进行 HarmonyOS 开发并与 Compose 简单对比
搞得我也焦虑的不行,在谷歌的 Compose 推出后就赶紧去学,但是又觉得好像 Compose 的热度也不算太高,又去学 Flutter 。
小帅聊鸿蒙
2024/06/26
4980
体验一下使用 ArkUI 进行 HarmonyOS 开发并与 Compose 简单对比
三、HarmonyOS 应用开发入门之运行Hello World
HarmonyOS 应用开发采用的是 ArkTs 语言,而 ArkTs 语言是在 TypeScript(简称TS)基础上的扩展,而 TypeScript 又是 JavaScript 的超集。
跟着飞哥学编程
2024/03/19
3510
三、HarmonyOS 应用开发入门之运行Hello World
鸿蒙OS应用开发初体验
HarmonyOS(鸿蒙操作系统)是华为公司开发的一款基于微内核的分布式操作系统。它是一个面向物联网(IoT)时代的全场景操作系统,旨在为各种类型的设备提供统一的操作系统平台和开发框架。HarmonyOS 的目标是实现跨设备的无缝协同和高性能。
巫山老妖
2023/11/01
7560
鸿蒙OS应用开发初体验
三、HarmonyOS NEXT应用开发:ArkTS工程目录结构(Stage模型)
resources目录用于统一存放应用所需的各种资源,包括图片、音频、视频、文本等等。下面简要介绍resources 目录的用法,首先需要了解resources 的目录结构,如下
Harry技术
2025/01/13
1840
三、HarmonyOS NEXT应用开发:ArkTS工程目录结构(Stage模型)
【OpenHarmony】OpenHarmony 开发基础 ② ( DevEco Studio 常用工具 | 参考文档 | 预览器 | 检查器 | 项目文件结构 | Index.ets 首界面 )
在 DevEco Studio 中 , 选择 菜单栏 中的 " 视图 / 工具窗口 / API 参考 " 选项 ,
韩曙亮
2024/06/02
6960
【OpenHarmony】OpenHarmony 开发基础 ② ( DevEco Studio 常用工具 | 参考文档 | 预览器 | 检查器 | 项目文件结构 | Index.ets 首界面 )
harmony OS NEXT-基本介绍及DevcoStudiop基本使用
写代码时,我们经常会遇到这种情况,右侧出现不能开启预览器的提示,我们需要打开预览器日志查看报错
骑老奶奶过马路
2025/03/22
1030
01. HarmonyOS应用开发实践与技术解析
随着华为HarmonyOS生态的不断发展,越来越多的开发者开始关注并投入到HarmonyOS应用开发中。本文将通过一个实际的项目案例,详细讲解HarmonyOS应用开发的核心技术和最佳实践,帮助开发者快速掌握HarmonyOS应用开发的要点。
全栈若城
2025/03/03
1990
01. HarmonyOS应用开发实践与技术解析
【愚公系列】2023年11月 HarmonyOS教学课程 002-ArkTS语言(基本语法)
HarmonyOS的ArkTS语言是一种基于TypeScript开发的语言,它专为HarmonyOS系统开发而设计。ArkTS语言结合了JavaScript的灵活性和TypeScript的严谨性,使得开发者能够快速、高效地开发出高质量的HarmonyOS应用程序。
愚公搬代码
2025/06/02
1830
【愚公系列】2023年11月 HarmonyOS教学课程 002-ArkTS语言(基本语法)
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 一)
ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语言开发能力。
爱吃土豆丝的打工人
2023/10/15
1K0
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 一)
《元服务开发实践》第一章 环境与示例
安装包地址:https://developer.huawei.com/consumer/cn/download/
徐建国
2024/11/07
1120
《元服务开发实践》第一章 环境与示例
HarmonyOS应用开发者基础认证考试(95分答案)
A. FlexAlign.StartB. FlexAlign.SpaceEvenlyC. FlexAlign.EndD. FlexAlign.SpaceBetween
红目香薰
2023/10/11
12.7K0
HarmonyOS应用开发者基础认证考试(95分答案)
【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解
根据华为开发者联盟 2024 年数据报告显示,HarmonyOS 设备激活量已突破 7.3 亿台,其中采用 ArkTS 声明式 UI 框架开发的应用占比达 68%,较 2023 年提升 45 个百分点。
GeorgeGcs
2025/06/03
1850
【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解
鸿蒙开发 ArkTS 工程目录结构详解
今日推荐:Spring AI再更新:如何借助全局参数实现智能数据库操作与个性化待办管理
繁依Fanyi
2024/12/08
3880
ArkTS 入门指南:快速上手鸿蒙应用开发
ArkTS 是基于 TypeScript 的一种编程语言,主要用于鸿蒙应用的 UI 界面和业务逻辑开发。TypeScript 是一种 JavaScript 的超集,为开发大型应用添加了类型检查和其他特性,如类、接口、模块等。ArkTS 在 TypeScript 的基础上,进行了一些针对鸿蒙系统的优化和定制。
陆业聪
2024/07/24
1.2K0
ArkTS 入门指南:快速上手鸿蒙应用开发
【HarmonyOS Next之旅】DevEco Studio使用指南(一)
HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,全方位的质量与安全保障。
枫叶丹
2025/03/08
3320
【HarmonyOS Next之旅】DevEco Studio使用指南(一)
Harmony ArkTS语言
  说到ArkTS就得说一下DevEco Studio的演变过程,在我写一篇关于鸿蒙的文章时,DevEco Studio才刚推出不久,当时所支持的语言是Java、JS、C++等,在后续的版本中逐渐去掉了Java,C++,最终使用到了ArkTS,那么我们下面来了解一下ArkTS的由来。
晨曦_LLW
2023/10/19
1.1K1
Harmony ArkTS语言
【HarmonyOS之旅】HarmonyOS开发基础知识(一)
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。
枫叶丹
2024/12/20
2070
【HarmonyOS之旅】HarmonyOS开发基础知识(一)
推荐阅读
相关推荐
鸿蒙开发学习(一)之ArkTS
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • MacBook Pro 安装、配置、升级git详细教程与方法大全
    • 前言
    • 为什么需要使用 Git?
    • 在 macOS 上安装 Git
      • 方法一:通过 Homebrew 安装
      • 方法二:通过官方 Installer 安装
      • 方法三:通过源码编译安装(可选,高级用户)
    • 初始配置 Git
      • 设置用户名和邮箱
      • 配置常用别名与编辑器
      • 开启颜色高亮与终端提示
      • 全局与局部配置的区别
    • 在 macOS 上使用 SSH Key 管理 Git 凭证
      • 生成 SSH Key
      • 将公钥添加到远程仓库(GitHub/GitLab/Bitbucket)
      • 测试 SSH 连接
    • 升级 Git 版本
      • 通过 Homebrew 升级 Git
      • 通过官方 Installer 升级
      • 通过源码重新编译升级(可选)
      • 检查与解决多版本冲突
    • 卸载 Git
    • 常见问题与故障排查
      • Git 路径指向旧版本
      • Homebrew 提示权限不足或安装失败
      • SSH 连接拒绝(Permission denied)
      • 配置文件(.gitconfig)不生效
    • 附录:常用 Git 命令速查表
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档