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.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519_github
        IdentitiesOnly yes
    
    # Gitee
    Host gitee.com
        HostName gitee.com
        User git
        IdentityFile ~/.ssh/id_ed25519_gitee
        IdentitiesOnly 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)。

### 如何在新的 Mac 电脑配置 Git #### 安装 Git 确保已安装最新版本的 Git。可以通过命令行工具自动安装 Xcode Command Line Tools 来获取 Git。 ```bash git --version ``` 如果没有安装,则会提示安装命令行开发工具,按照指示完成安装即可[^1]。 #### 设置全局用户信息 对于大多数情况来说,设置一次全局的用户名和电子邮件就足够了: ```bash git config --global user.name "Your Name" git config --global user.email "you@example.com" ``` 这一步骤非常重要,因为每次提交都会附带这些个人信息。 #### 处理多账户需求 当需要在同一台机器上管理多个 GitHub 账户或其他服务提供商时,可以针对不同项目分别设定不同的身份验证信息。首先移除现有的全局配置: ```bash git config --global --unset user.name git config --global --unset user.email ``` 接着,在特定项目的根目录下执行如下命令来为该项目指定独立的身份认证数据: ```bash cd /path/to/your/project git config user.name "Another User" git config user.email "another.user@example.com" ``` 这种方式允许每个仓库拥有自己独特的作者信息而不会相互干扰[^2]。 #### SSH 密钥生成与配置 为了简化操作并提高安全性,建议创建一对SSH密钥用于连接到远程服务器而不必每次都输入密码。进入用户的 `.ssh` 文件夹(如果不存在则新建),运行以下指令生成新密钥对: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 之后将公钥添加至目标平台上的个人账号设置里,比如GitHub、GitLab等。 #### 推送初始代码库 最后,初始化一个新的本地存储库并将更改推送出去前,请先确认已经关联好了远端地址: ```bash git remote add origin https://github.com/user/repo.git git branch -M main git push -u origin main ``` 以上就是完整的流程介绍,涵盖了从基础环境搭建到高级特性使用的各个方面[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记北宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值