思路
ssh 方式链接到 Github,需要唯一的公钥,如果想同一台电脑绑定两个Github 帐号,需要两个条件:
1.能够生成两对 私钥/公钥
2.push 时,可以区分两个账户,推送到相应的仓库
解决方案:
1.生成 私钥/公钥 时,密钥文件命名避免重复
2.设置不同 Host 对应同一 HostName 但密钥不同
3.取消 git 全局用户名/邮箱设置,为每个仓库独立设置 用户名/邮箱
操作方法
1.查看已有 密钥
Mac 下输入命令 ls ~/.ssh/,看到 id_rsa 与 id_rsa_pub 则说明已经有一对密钥。
2.生成新的公钥,并命名为 id_rsa_2 (保证与之前密钥文件名称不同即可)
ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "yourmail@xxx.com"
3.在 .ssh 文件夹下新建 config 文件并编辑,另不同 Host 实际映射到同一 HostName,
但密钥文件不同。Host 前缀可自定义,例子中wolf7
1 | # default |
4.将生成的 id_rsa.pub,id_rsa_2.pub内容copy 到对应的GitHub Repository SSH-KEY中
5.测试 ssh 链接
1 | # 此处测试为默认配置,对应的KEY是id_rsa |
6.将项目 clone 到本地, folder-name 是本地文件夹路径
`git clone git@rzxwang.github.com:rzxwang/rzxwang.github.io.git wofl7.org`
7.取消全局 用户名/邮箱设置,并进入项目文件夹单独设置
1 | # 取消全局 用户名/邮箱 配置 |
8.命令行进入项目目录,重建 origin (rzxwang 为相应项目地址)
1 | git remote rm origin |
9.成功,可以 push 测试一下.
1 | git push origin master |