MacOS

mac os 配置两个github账号

2022-08-18  本文已影响0人  popesa

1. 清空git全局配置的username和email

git config --global --unset user.name
git config --global --unset user.email

git config --list 可以查看是否清空了

2. 定义两个标识符,这两个标识符以后会被用来代替“github.com”来使用。

假设两个账号的邮箱地址分别是a@gmail.comb@gmail.com
本篇笔记中就分别定义两个标识符为 aaccountbaccount
(如果为了强调代替“github.com”,可以为“aaccount.github.com”和“baccount.github.com”。)

3. 为两个账户生成公钥和私钥

两个生成中只是邮箱和文件名不同,以第一个为例。
生成第一个:

ssh-keygen -t rsa -C "a@gmail.com" // 回车

会有如图输出,这里是需要指定秘钥的存储路径

image.png
比如指定为/Users/xxx/.ssh/id_rsa_a,这里推荐在 ~/.ssh 目录下。
然后回车输入密码。
看见如下图的输出就是成功生成了公钥、私钥。
image.png
id_rsa_a 是私钥,id_rsa_a.pub 是公钥。
这便完成了一个账号的生成,相同的步骤,可以生成第二个账户的。

4. 将生成的密钥添加到ssh-agent信任列表

以第一个账号为例

ssh-add -K ~/.ssh/id_rsa_a   // 这里指定自己的路径
// 返回这个就表示添加成功了
Identitiy added: ~/.ssh/id_rsa_a

相同步骤可以添加第二个账号的。

5. 将公钥添加到 github 网站上

先复制 .pub 文件中的内容,可以文本打开复制,也可以用命令,如下

pbcopy < ~/.ssh/id_rsa_a.pub  // 这是复制第一个账号的公钥

github网站 → Settings → SSH and GPG keys → New SSH key,如下


image.png

title 随便写,key type默认如图不用修改,Key 中粘贴复制的公钥,Save。

6. 配置 config 文件

编辑 ~/.ssh/config 文件,如果没有就新建一个。内容如下:
这里就用到了前面定义的标识符。

Host aaccount
  UseKeychain yes
  Hostname github.com
  IdentityFile ~/.ssh/id_rsa_a
  User git
  
Host baccount
  UseKeychain yes
  Hostname github.com
  IdentityFile ~/.ssh/id_rsa_b
  User git

7. 测试连接

// 测试第一个账号
ssh -T git@aaccount
// 测试第二个账号
ssh -T git@aaccount

如果连接成功能看到以下输出:

Hi xxx! You've successfully authenticated.but GitHub does not provide shell acess

即使ssh config中的文件路径配置错误,ssh -T也会通过,所以路径一定要自己检查清楚。

8. 开心的使用吧

注意地址的变化,之前是

git clone git@github.com:xxx/yyyy.git

地址的 github.com需要被自定义的标识符替换掉,比如第一个账户是 aaccount,那么命令就是

git clone git@aaccount:xxx/yyyy.git

clone到本地后,可以使用 git remote -v 查看远程地址,就是“git@aaccount:xxx/yyyy.git

===========================
这是两篇参考的文章: 如果配置中遇到问题可以参考下面的文章

https://juejin.cn/post/7028907696845750280
https://learnku.com/articles/9980/mac-switching-multiple-github-accounts
===========================

9. 配置多账号之前已有项目的配置

如果是之前已经 clone 的项目需要重新指定 remote 地址以及需要配置项目的 email 和username。可以先试一下,如果不能使用再来改配置。

修改项目remote地址

git remote -v  // 查看 remote 地址
git remote rm origin
git remote add origin git@aaccount:xxx/yyy.git  // 这里是第一个账号为例

///////// 码字不易,求个赞 /////////
然后在每个项目中,执行:

git config user.email "xxx@xxx.com"
git config user.name "xxname"

为项目单独设置用户名和邮箱。
可以查看一下:

git config user.name
git config user.email

push 的话还是照常使用:git push origin master

===========================
这里参考了:https://hzsss.github.io/Mac-OS%E4%B8%8B%E9%85%8D%E7%BD%AE%E5%A4%9A%E4%B8%AAGitHub%E8%B4%A6%E5%8F%B7/
的最后一步
===========================

上一篇下一篇

猜你喜欢

热点阅读