一 前言

由于跨团队开发的需求,要求我们在学习GitHub的同时在同一台电脑配置多
个GitHub账号。我在晚上搜索了几个教程发现都没有成功,于是经过我自己摸索最后亲测成功。

二 思路

需要在自己电脑上配置两套ssh key以新建一个config文件对两个gitHub账号进行配置。

三 生成ssh key

  1. 首先在GitHub上注册两个GitHub账号,注册步骤,注意Windows电脑需要一直做到第二步(安装git).

  2. 生成一个全局的账户信息
    配置全局用户名,此英文用户名不需要跟GitHub账号保持一致
    配置全局邮箱,此邮箱不需要跟GitHub账号保持一致

git config –global user.name 自定义用户名
git config –global user.email

  1. 查看当前ssh key配置状态。因为.ssh文件夹是隐藏文件,可以使用命令行打开默认路径的.ssh文件夹,查看ssh key配置状态,打开终端输入

    open ~/.ssh

如果没有配置过GitHub的童鞋们里面是空白的,如果配置过的会看到会看到id_rs
a和id_rsa.pub两个文件.其中.pub是public的缩写也就是公钥.

以下是我的 .ssh文件夹中的生成的ssh key
1.png

  1. 生成 .ssh.使用两个邮箱通过命令

ssh-keygen -t rsa -C “your Email”

生成ssh key.之后就是一直的回车。

第一个回车:
Enter file in which to save the key (/Users/yezhu/.ssh/id_rsa):
冒号后边为id_rsa_personal 需要填写文件名,如果不写的话就是默认名称为id_rsa
,会把之前的生成已经存在的覆盖掉,所以我这里写的是github_id_rsa_+文件名。
第二次和第三次都是声明是否需要为文件设置密码,默认即为不设置,所以这里连续2次回车。

  1. 配置config文件。在terminal中.ssh路径下创建config文件,输入命令
vi config

2.png

这里我配置了三个GitHub账号,主要为了后续的跨团队开发准备的。

其中IdentityFile 指向对应的秘钥文件。在命令行末行模式下输入:wq保存此config
文件并退出到shell下。在terminal中.ssh路径下输入vim config 可查看config文件
内容。

  1. 启动ssh-agent环境并添加生成的ssh keys。

5-1 启动ssh-agent环境,在terminnal中输入命令:

eval "$(ssh-agent -s)"  # start the ssh-agent in the background

出现 Agent pid 意味着开启成功。

5-2 逐个添加生成的ssh keys 到ssh-agent中,在terminnal中输入命令:

ssh-add -K ~/.ssh/id_rsa_work

出现 Identity added:… 表示成功

补充知识:
ssh-agent 会开启一个进程运行在后台,相当于一个服务。其机制是每隔几十秒向用
SSH 连接的服务器发送数据,由此服务器就不会自动断开跟你的 SSH 连接了。“还
在吗 ~ ”。 也因此有时候电脑重启之后需要重新启动ssh-agent令之运行在后台,
Windows用户经常要手动启动。

  1. 将生成的.pub文件的内容分别添加到对应的GitHub ssh key 中

首先登陆GitHub后进入主页,点击头像处。

4.png

点击Setting后如下图所示,将.ssh文件夹中生成的.pub文件中的内容分别添加到对应的GitHub的SSH GPG keys中。这里我是已经添加完成了。

5.png

  1. 测试配置

6-1 测试格式:ssh -T git@host
这里的host参数是config里面的host参数

在terminal中输入以下命令,检查之前配置是否正确:

6-2 测试管理员帐号配置

ssh -T git@github

6-3 测试个人帐号配置

ssh -T git@github1

6-2 测试公司帐号配置

ssh -T git@github2

成功结果:
Hi username! You’ve successfully authenticated, but GitHub does not provide
shell access.
说明之前的配置是正确的。这里的username是你注册的GitHub账号名称。

四 本地配置

步骤:

  1. 首先在本地盘符创建文件夹配置几个GitHub账号就创建几个文件夹

3.png

  1. 对创建好的文件夹进行初始化。

git init

  1. 克隆对应的GitHub账号里的项目

如下图所示这里是test项目,
第一步点击克隆,第二步点击复制链接。

6.png

在github 文件夹中输入:
git clone https://github.com/cuikuikui/test.git

如下图所示将test文件夹从GitHub上下载到本地。

7.png

完成后分别对其他GitHub账号所对应文件夹做相同操作即可。

五 本地测试

分别打开克隆后的文件夹进行本地测试。

9.png

对1.txt文件进行修改。输入三段文字

8.png

然后分别输入以下代码:

git add 1.png
git commit -m ‘1.png’
git push

在输进行push后可能会让你输入GitHub的账号和密码。
完成push登陆github账号查看GitHub中的1.txt中的内容是否修改。

如下所所示说明此GitHub账号在本地的配置成功。

10.png

评 论