Skip to content

Git 单工作站多账户配置

551字约2分钟

Git

2024-07-09

很多时候程序员都会有多个 Git 账户, 也许你想要把工作和个人开发账户分开, 这个时候就涉及到在同一个工作站(主机)上对多个 Git 账户进行操作. 我参考了很多做法, 找到了目前的一个解决方案. 不是太完美, 因为实测过程中发现需要在每个项目第一次使用时配置一次用户名和邮箱.

首先, 我们先假设我们需要配置的两个 Git 账户如下:

账号usernameemail网站
1alicealice@gmail.comGitlab
2bobbob@163.comGitHub

1. 生成公私钥

使用管理员身份运行 Git Bash:

## 1) 生成 alice 在 Gitlab 上的公私钥文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "alice@gmail.com" 

## 2)生成 bob 在 GitHub 上的公私钥文件
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "bob@163.com"

执行完这两个命令后可以在 C:\\用户\\<username>\\.ssh 路径下找到 4 个文件, 分别是两个账户的公钥和私钥.

序号文件名含义
1id_rsa_gitlabalice的私钥
2id_rsa_gitlab.pubalice的公钥
3id_rsa_githubbob的私钥
4id_rsa_github.pubbob的公钥

2. 配置公钥

分别登录进入 Gitlab 和 GitHub 进行公钥的配置. 在设置中找到 SSH Key 的相关设置, 点击 New SSH key, 将公钥文件中的内容复制添加到里面.

3. 激活公钥

在 Git Bash 中执行:

Gitlab

## 1) 激活公钥
ssh -T git@gitlab.com -i ~/.ssh/id_rsa_gitlab

## 2)授权
yes

GitHub

## 1) 激活公钥
ssh -T git@github.com -i ~/.ssh/id_rsa_github

## 2) 授权
yes

4. 添加私钥文件

## 1) 打开服务
eval `ssh-agent`
## 2) 添加 Gitlab
ssh-add ~/.ssh/id_rsa_gitee
## 3) 添加 GitHub
ssh-add ~/.ssh/id_rsa_github

5. 配置 config 文件

config 文件, 一般保存在 ~/.ssh/ 目录里, 用于切换多个 gitee、github 账号. 将 config 文件中关于 username 和 email 的 global 配置删除, 然后改为以下内容:

Host gitlab.com
HostName gitlab.com
IdentityFile C:\\用户\\<username>\\.ssh\\id_rsa_gitlab
PreferredAuthentications publickey
User alice


Host github.com
HostName github.com
IdentityFile C:\\用户\\<username>\\.ssh\\id_rsa_github
PreferredAuthentications publickey
User bob




变更历史

最后更新于: 查看全部变更历史
  • docs: update docs

    于 2024/11/25
  • docs: update docs

    于 2024/11/25
  • docs: update docs

    于 2024/11/19
  • 更改navbar

    于 2024/11/4
  • 升级主题+整理文章格式

    于 2024/11/1
  • 整理文章格式

    于 2024/10/29
  • 升级主题+新增文章+修改格式

    于 2024/10/14
  • 升级版本+规整文档中的格式

    于 2024/10/11
  • 给予文件夹顺序

    于 2024/9/24
  • 调整博客分类+修改about-me.md

    于 2024/9/24
  • 整理文章

    于 2024/9/23
  • first commit

    于 2024/9/20

Keep It Simple