当前位置: 首页 > news >正文

Mac电脑多平台Git账号配置

最佳方案:使用 SSH 密钥并配置 config 文件

这种方法可以为不同的 Git 托管平台分配不同的 SSH 私钥,系统会自动根据仓库的 URL 使用对应的密钥,完全无需手动切换。

第 1 步:为每个平台生成独立的 SSH 密钥

打开 Mac 的终端(Terminal),执行以下命令。

  1. 为 GitHub 生成密钥
    ssh-keygen -t ed25519 -C "your_email@github.com" -f ~/.ssh/id_ed25519_github
*   `-t ed25519`: 使用更安全、更快的 Ed25519 算法。如果你的系统过老不支持,可以使用 `-t rsa -b 4096`。
*   `-C`: 后面跟注释,通常是你的邮箱,用于标识这个密钥。
*   `-f`: 指定密钥文件的存放路径和文件名。这里我们为 GitHub 单独命名。
  1. 为 Gitee 生成密钥

    ssh-keygen -t ed25519 -C "your_email@gitee.com" -f ~/.ssh/id_ed25519_gitee
    

    同样地,为 Gitee 也生成一个,并使用不同的文件名(id_ed25519_gitee)。

  2. 过程中会提示你输入密码(passphrase),可以为密钥设置一个额外的安全密码(推荐),也可以直接回车留空。

第 2 步:将公钥添加到 GitHub 和 Gitee
  1. 查看并复制公钥内容

    # 复制 GitHub 的公钥
    cat ~/.ssh/id_ed25519_github.pub
    # 选中终端里显示的内容(从 ssh-ed25519 开始一直到你的邮箱),然后按 Command+C 复制# 复制 Gitee 的公钥
    cat ~/.ssh/id_ed25519_gitee.pub
    # 同样地复制全部内容
    
  2. 添加到 GitHub

    • 登录 GitHub -> 点击右上角头像 -> Settings -> SSH and GPG keys -> New SSH key。
    • Title 可以写例如 My Mac for GitHub
    • Key 类型选择 Authentication Key
    • 将刚才复制的 id_ed25519_github.pub 内容粘贴到 Key 的文本框中。
    • 点击 Add SSH key。

在这里插入图片描述

  1. 添加到 Gitee
    • 登录 Gitee -> 点击右上角头像 -> 设置 -> SSH 公钥。
    • 标题可以写例如 My Mac for Gitee
    • 将刚才复制的 id_ed25519_gitee.pub 内容粘贴到公钥文本框中。
    • 点击确定。

在这里插入图片描述

第 3 步:创建并配置 SSH config 文件

~/.ssh 目录下创建一个 config 文件(如果不存在的话),来管理不同的密钥。

  1. 创建或编辑 config 文件

    nano ~/.ssh/config
    
  2. 输入以下内容

    # GitHub
    Host github.comHostName github.comUser gitIdentityFile ~/.ssh/id_ed25519_githubIdentitiesOnly yes# Gitee
    Host gitee.comHostName gitee.comUser gitIdentityFile ~/.ssh/id_ed25519_giteeIdentitiesOnly yes
    
    • Host: 这是一个别名,你可以自定义,但为了方便通常直接写平台域名。
    • HostName: 真实的主机名。
    • User: 连接时使用的用户,Git 远程仓库都是 git 用户。
    • IdentityFile: 指定该平台使用的私钥文件的绝对路径。
    • IdentitiesOnly: 只使用 config 文件中指定的密钥,不尝试其他密钥。

在这里插入图片描述

  1. 保存并退出
    • 在 nano 编辑器中,按 Control + X,然后按 Y 确认,最后按回车保存。
第 4 步:测试连接

配置完成后,测试一下是否成功。

# 测试 GitHub 连接
ssh -T git@github.com
# 如果成功,你会看到:Hi (your_username)! You've successfully authenticated...# 测试 Gitee 连接
ssh -T git@gitee.com
# 如果成功,你会看到:Hello (your_username)! You've successfully authenticated...

在这里插入图片描述

第 5 步:使用 SSH 地址克隆和操作仓库

现在,当你克隆项目时,务必使用 SSH 地址,而不是 HTTPS 地址。

  • GitHub 仓库的 SSH 地址格式git@github.com:username/repo_name.git
  • Gitee 仓库的 SSH 地址格式git@gitee.com:username/repo_name.git

例如:

git clone git@github.com:your_github_username/your_repo.git
git clone git@gitee.com:your_gitee_username/your_repo.git

这样,当你 push 或 pull 时,Git 会根据仓库的 URL(是 github.com 还是 gitee.com)自动去 ~/.ssh/config 里找到对应的配置,并使用正确的密钥进行认证,完全不用输入密码(除非你设置了 passphrase)。

http://www.dtcms.com/a/394905.html

相关文章:

  • Etcd详解:Kubernetes的大脑与记忆库
  • 深刻理解PyTorch中RNN(循环神经网络)的output和hn
  • 大模型如何赋能写作:从创作到 MCP 自动发布的全链路解析
  • C++设计模式之创建型模式:工厂方法模式(Factory Method)
  • 传输层协议——UDP/TCP
  • 三板汇茶咖空间签约“可信资产IPO与数链金融RWA”链改2.0项目联合实验室
  • 【MySQL】MySQL 表文件误删导致启动失败及无法外部连接解决方案
  • LVS简介
  • 如何将联系人从iPhone转移到iPhone的7种方法
  • 『 MySQL数据库 』MySQL复习(一)
  • 3005. 最大频率元素计数
  • ACP(七)优化RAG应用提升问答准确度
  • 鸿蒙:使用bindPopup实现气泡弹窗
  • Langchan4j 框架 AI 无限循环调用文件创建工具解决方案记录
  • Python GIS 开发里最核心的4个基础组件(理论+实操篇)
  • 关于跨域和解决方案
  • 学习日报 20250921|LoadingCache
  • 聚力赋能|竹云受邀出席2025华为全联接大会
  • 抓取 Dump 文件与 WinDbg 使用详解:定位 Windows 程序异常的利器
  • 计算机组成原理:指令周期
  • 老题新解|简单算术表达式求值
  • RustFS与其他新兴存储系统(如SeaweedFS)相比有哪些优势和劣势?
  • WPS标点符号换行问题解决
  • 开发团队的文档自动化革命:WPS+cpolar实战录
  • 【Linux】文本编辑器Vim
  • flink1.18下游配置多个sink
  • 如何删除 MySQL 数据库中的所有数据表 ?
  • win10加域后,控制面板中的,internet 时间就没有了
  • Unity移动平台笔记
  • 【图像算法 - 27】基于YOLOv12与OpenCV的无人机智能检测系统