写点什么

如何在一台电脑上管理多 Github 账号

用户头像
Matrix Chan
关注
发布于: 2020 年 09 月 09 日
如何在一台电脑上管理多Github账号

场景

在一台电脑上,有两个Repository:A和 B ,它们分属两个不同的 Github 账号。



步骤

为 Repository 配置 Github 的 Git 账号

使用终端进入到 Repository A 目录下,配置 Git 账号

$ git config user.name "user_a"
$ git config user.email "user_a@gmail.com"



使用终端进入到 Repository B 目录下,配置 Git 账号

$ git config user.name "user_b"
$ git config user.email "user_b@gmail.com"

为不同的 Github 用户生成 SSH 密钥

为 usera 生成 SSH 密钥,密钥名为 usera_id_rsa

$ ssh-keygen -t rsa -C "user_a@gmail.com"

同样操作,为 userb 生成 SSH 密钥,密钥名为 userb_id_rsa

$ ssh-keygen -t rsa -C "user_b@gmail.com"

配置多账户的 SSH 匹配

host user_a_github.com
Hostname github.com
User git
IdentityFile ~/.ssh/user_a_id_rsa
host user_b_github.com
Hostname github.com
User git
IdentityFile ~/.ssh/user_b_id_rsa

添加新的私钥到 ssh-agent 缓存中

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/user_a_id_rsa
$ ssh-add ~/.ssh/user_b_id_rsa

修改 Repository 的 push 地址

对 Repository 中 .git/config 的 url 字段值 git@github.com 修改。

修改 Repository A 的 push 地址:

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@user_a_github.com:*********/***********.git
fetch = +refs/heads/*:refs/remotes/origin/*
[user]
name = user_a
email = user_A@gmail.com

修改 Repository A 的 push 地址:

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@user_b_github.com.com:******/******.git
fetch = +refs/heads/*:refs/remotes/origin/*
[user]
name = user_b
email = user_b@gmail.com

至此,完毕。

一些命令

# 检查当前用户
ssh -vT git@github.com
# 检查当初密钥
ssh-add -l
# 添加密钥
# 删除密钥
ssh-add -d /Users/****/.ssh/id_rsa
# 查看 git config 配置
git config --list



发布于: 2020 年 09 月 09 日阅读数: 44
用户头像

Matrix Chan

关注

Write the Code. Change the World. 2018.06.12 加入

Hi,我是 Matrix,一名程序員、創客,目前主要研究方向是機器人與 人工智能技術。 個人網站: matrixtech.xyz

评论

发布
暂无评论
如何在一台电脑上管理多Github账号