查看原文
其他

本地如何配置多个 GitHub/Gitee 账号?

IT服务圈儿 2023-02-06

The following article is from polarisxu Author 站长polaris

来源丨经授权转自 polarisxu(ID:xu_polaris)
作者丨站长polaris

大家好,我是 polarisxu。

现在的开发,无论是日常工作还是参与开源,都离不开 Git。开源项目,大家通常使用 GitHub 或 Gitee,而工作中通常会自建 Git 服务,比如通过 GitLab、Gogs 等搭建。

为了方便使用,一般大家会配置 SSH keys,通过 ssh 协议 pull/push 仓库。

1、生成 ssh 密钥

首先,我们需要生成 ssh 密钥:(基于 mac,linux 类似,Windows 下找对应工具)

ssh-keygen -C "polaris@studygolang.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xuxinhua/.ssh/id_rsa):

出现的提示,使用默认值即可。命令执行完后,会生成 id_rsa 和 id_rsa.pub 文件,其中 id_rsa.pub 是公钥,拷贝其中的内容配置到 GitHub 或 GitLab 之类的网站。比如 GitHub 是这里:https://github.com/settings/ssh/new。

2、一个电脑两个不同网站账号

这是最常见的场景:一个业余号(github),一个工作号(比如自建 gitlab)。因为是不同网站,因此可以使用同一个邮箱。当然也可以是一个 github 账号,一个 gitee 账号,为了方便,以下使用 github 和 gitee。

在 ~/.ssh 目录下创建一个 config 文件,在其中添加如下内容:

host github
hostname github.com
Port 22
host gitee
hostname gitee.com
Port 22

这里没有指定 id_rsa,因为默认读取的就是它。

这样,本地使用 GitHub 还是 Gitee 完全没区别。

注意,需要使用 id_rsa.pub 分别在 GitHub 和 Gitee 添加 SSH Keys

当然,你也完全可以使用两个不同的账号,具体见下文。

3、一个电脑两个 GitHub 账号

因为两个 GitHub 账号,自然不能使用同一个 ssh 密钥,因此生成另外一个:

$ ssh-keygen -t rsa -f ~/.ssh/id_rsa_gmail -C "polaris@gmail.com"

这会在 ~/.ssh 目录生成 id_rsa_gmail 和 id_rsa_gmail.pub 两个文件。

将 id_rsa.pub 和 id_rsa_gmail.pub 配置到对应的 GitHub 账号。然后跟上文一样,编辑 config 文件:

# github 账号:polaris@studygolang.com
host github
    hostname github.com
    Port 22
    User git
    IdentityFile ~/.ssh/id_rsa
# github 账号:polaris@gmail.com
host gmail-github
    hostname github.com
    Port 22
    User git
    IdentityFile ~/.ssh/id_rsa_gmail

config 是 ssh 的配置,详细信息可以参考:https://daemon369.github.io/ssh/2015/03/21/using-ssh-config-file。

针对以上场景,在具体使用时,我们需要注意以下几点:

  • 默认会使用第一个账号,要使用第二个账号,需要设置该项目自己的 user.email 和 user.name
  • git clone 时,第二个账号,地址得是类似这样的:git@gmail-github.com:studygolang/studygolang.git

如果有问题,可以执行以下两个命令验证:(记得替换为你自己的配置)

$ ssh-add ~/.ssh/id_rsa_gmail
ssh -T git@gmail-github.com

4、总结

生活一个号,工作一个号。如果你没有很好的区分,可以试试本文的方法,更愉快的 Coding!



1、没想到!TCP居然还有这种打开方式!

2、两天两夜,1M图片优化到100kb!

3、Python 绘制惊艳的瀑布图

4、抢了个票,还以为发现了12306的系统BUG

5、太牛了!这个神奇工具让你的照片秒变宫崎骏漫画

点分享

点点赞

点在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存