如何在一台机器上管理多个 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 "one@gmail.com" -f "id_rsa_one"
    ssh-keygen -t rsa -C "two@gmail.com" -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中推送文件即可。

相关推荐
ZXF_H1 小时前
pip安装github上的开源软件包
git·python·github·pip
years_GG10 小时前
【Git多人开发与协作之团队的环境搭建】
spring boot·深度学习·vue·github·团队开发·个人开发
前端李易安10 小时前
Git工作原理与常用方法汇总
git
Lemo爱吃鱼11 小时前
LemoBook - 一个创新性的无数据库网站解决方案!
github·next.js
黎相思12 小时前
Git的安装和使用
git
xianwu54316 小时前
MySQL索引原理
linux·开发语言·网络·c++·git
purples.18 小时前
上传本地文件到GitHub
windows·git·github
油泼辣子多加18 小时前
2024年11月25日Github流行趋势
github
Blue桃之夭夭19 小时前
Git Github Gitlab与Gitee的关系
git·gitee·gitlab