您的位置:首页 > 编程语言

如何用一台电脑绑定多个github账户

2017-04-12 11:25 232 查看

工作原理简述

github将ssh的公钥作为本地仓库和远程仓库连接的唯一标识,如果你将一个相同的公钥上传到不同的github账户,github则无法做出辨识,故在重复添加相同公钥的时候github会进行相应的提示。

然而一台电脑,可以生成多对公私钥,我们可以通过配置,将不同的公钥上传到不同的github账号,那么就不存在单个公钥绑定多个github账号的情况存在了。

ok,下面进行具体的配置细节。

配置过程

* 以下命令默认在命令行下操作(win系统可在git bash下操作) *

```
ls ~/.ssh
```
(默认读者懂一点ssh配置的知识)
若已有一对秘钥的话,那只需要再生成一对秘钥即可,将新的秘钥换个名字,则不会产生覆盖之前秘钥的问题


生成新的秘钥

ssh-keygen


会提示输入文件名

Generating public/private rsa key pair.
Enter file in which to save the key (/×××/×××/.ssh/id_rsa):


在冒号后输入新的秘钥名,并且是绝对路径的方式。比如:

/×××/×××/.ssh/id_rsa_×××


之后便可以一直回车到底了。

在.ssh文件夹下新建config文件并进行映射配置

# 在.ssh目录下进行操作

touch config        # 生成config文件


对config文件进行编辑

# default

Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa

# another

Host ×××.github.com             # 对Host添加任意前缀
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_××× # 公钥为新生成的公钥


将新生成的公钥写到需要绑定的github账号上

这步和第单个公钥绑定github的方式一样,github会有操作提示。

测试ssh链接

ssh -T git@github.com
ssh -T git@×××.github.com

# Hi ×××! You've successfully authenticated, but GitHub does not provide shell access.

# 若提示如上,则表明测试ssh链接没有问题


将仓库clone到本地

这步示例略过

本地配置仓库

# 取消git全局配置
git config -l           # 查看全局git配置信息
git config --global --unset user.name       # 取消全局用户名
git config --global --unset user.email      # 取消全局邮箱
# 进入相应git仓库(每个仓库都需要配置)
git config user.name "×××"                  # 配置局部用户名
git config user.email "×××@××.com"          # 配置局部邮箱


重建origin远程分支

git remote -v               # 查看远程分支
git remote rm origin        # 删除远程分支
git remote add origin git@×××.github.com:repo_name  #重建远程分支,repo_name为仓库名,可在github上查看


push一下看看

git push origin master      # 没有问题则说明配置完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  github ssh git