如何在一台机器上管理多个 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中推送文件即可。

相关推荐
本地化文档2 分钟前
rustdoc-book-l10n
rust·github·gitcode
第一程序员41 分钟前
Python 4.0正式发布:新特性与学习建议
python·github
irpywp1 小时前
HolyClaude:一行命令,随时随地运行 Claude Code
开源·github·claude code
吴声子夜歌2 小时前
TypeScript——泛型
前端·git·typescript
春日见3 小时前
3三分彻底了解Git Graph极其应用
git
darkb1rd3 小时前
OpenSpace:让智能体低成本自进化与经验共享框架
开源·github·好物分享
风.foxwho4 小时前
jenkins使用 ED25519密钥 拉取Git 代码 配置
git·servlet·jenkins
ruanCat5 小时前
前端工程化工具链从零配置:simple-git-hooks + lint-staged + commitlint
前端·git·代码规范
木子小喵7 小时前
Git的使用介绍!超通俗!
git
coderYYY7 小时前
git push报错Authentication failed for ‘xxx’也不会弹要求输入用户名密码的最终解决方法
前端·git·gitee·github