如何在一台机器上管理多个 GitHub 账户

用 SSH 密钥在一台机器上管理多个 GitHub 账户

如何用 SSH 密钥在一台机器上管理多个 GitHub 账户 (freecodecamp.org)

如何在同一台电脑上同时使用多个Git账号? - 知乎 (zhihu.com)

  1. 生成多个 SSH 密钥

    C:\Users\Administrator\.ssh 文件夹中打开 gitbash,生成两个 SHH 密钥,分别作用于我的两个github账号。

    bash 复制代码
    ssh-keygen -t rsa -C "[email protected]" -f "id_rsa_one"
    ssh-keygen -t rsa -C "[email protected]" -f "id_rsa_two"

    其中邮箱对应两个github账号注册时的邮箱。

  2. 将两个密钥加入到对应的github账户

  3. 编辑配置文件

    编辑 ~/.ssh/config 文件,没有就建一个,Host 名称可以根据你的需求更改。

    复制代码
    # one
    Host github_one
    Hostname ssh.github.com
    IdentityFile ~/.ssh/id_rsa_one
    port 22
    
    # two
    Host github_two
    Hostname ssh.github.com
    IdentityFile ~/.ssh/id_rsa_two
    port 22

    修改之后,在 git bash 中运行以下命令,检查是否连接正常。

    bash 复制代码
    ssh -T git@github_one
    ssh -T git@github_two

    如果都能正常返回如下信息,就说明配置正常。

    text 复制代码
    Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

    同样的方式你就可以配置更多的以SSH登录的不同git用户。

  4. 配置仓库设置

    全局设置可以作为你默认上传的账号,在需要用其他账号时,需要重新配置 user.nameuser.email

    bash 复制代码
    # 添加本地设置
    # 设置为私有仓库的GitHub账号邮箱和公有账号的GitHub邮箱。
    git config --local user.name xxxx
    git config --local user.email xxx
  5. 上传文件

    • 添加远程仓库

      未创建远程仓库时,采用 git remote add 添加远程仓库,origin可替换仓库的名称。

      bash 复制代码
      # 远程仓库不存在
      git remote add origin git@github_two:xxx/example.git
      
      # 远程仓库已存在
      git remote add test git@github_two:xxx/test.git
      error: remote test already exists.
    • 上传至远程仓库

      先用以下命令更新 test 远程仓库的 URL,以便您可以使用新的地址进行推送或拉取操作。

      bash 复制代码
      git remote set-url test git@github_two:two/test.git

      然后在VScode中推送文件即可。

相关推荐
幸好我会魔法7 小时前
使用githubPage+hexo搭建个人博客
笔记·github
o(╥﹏╥)7 小时前
绑定 SSH key(macos)
开发语言·git·学习·macos
半新半旧11 小时前
Git 分支指南
git
qq_4643570113 小时前
git中忽略文件.gitignore文件的用法
git
程序员阿鹏15 小时前
Git的安装和配置(idea中配置Git)
java·开发语言·ide·git·intellij-idea·idea
“αβ”15 小时前
Linux平台下SSH 协议克隆Github远程仓库并配置密钥
linux·ssh·github
qianmoQ1 天前
GitHub 趋势日报 (2025年05月12日)
github
belldeep1 天前
如何阅读、学习 Git 核心源代码 ?
git·学习·源代码
我不是秃头sheep1 天前
Git安装教程及常用命令
git
Asus.Blogs1 天前
为什么 import _ “github.com/go-sql-driver/mysql“ 要导入但不使用?_ 是什么意思?
sql·golang·github