iOS学习Tool机器学习之旅

多个github帐号更新多个hexo博客

2018-10-01  本文已影响2人  codeTao

一台电脑, 多个github帐号的SSH key切换, 更新多个hexo博客

github账号,工作有一个,自己有一个。但是默认下使用ssh key在git push时只有默认账号能免输入账号和密码。

1. 打开终端,进入ssh根目录下

cd ~/.ssh/

2.创建新的 私钥/公钥, 并指定秘钥名称, 如 kentsun_rsa

ssh-keygen -t rsa -f  ~/.ssh/随便名字_id_rsa -C "yourmail@xxx.com"
ssh-keygen -t rsa -C "yourmail@xxx.com"
sshkey2.png

3.配置config

如果 ~/.ssh/根路径下, 没有config, 则创建一个config文件

touch config
#第一个账号,默认使用的账号
Host github.com
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa
# 第二个账号 kentsun
Host kentsun.github.com # kentsun为前缀名,可以任意设置
 HostName github.com
 User git
 IdentityFile ~/.ssh/kentsun_rsa

原理分析:

4.设置新github账户SSH key

最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\kentsun_rsa.pub文件,记事本打开并复制里面的内容,打开你的github主页,进入个人设置 -> SSH and GPG keys -> New SSH key:

github-sshkey.png

将刚复制的内容粘贴到key那里,title随便填,保存。

5.在.ssh根目录下, 清空本地的 SSH 缓存,添加新的 SSH 密钥 到 SSH agent中

cd ~/.ssh
ssh-add -D
ssh-add id_rsa
ssh-add id_rsa_second
ssh-add -l

6.输入指令, 验证配置是否成功

ssh -T git@github.com
ssh -T git@username.github.com
$ ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

7.进入各自项目文件夹,单独设置用户名/邮箱

# 取消全局 用户名/邮箱 配置
git config –global –unset user.name
git config –global –unset user.email

# 单独设置每个repo 用户名/邮箱
git config user.name "用户名"  //在config后加上--global即全局
git config user.email "邮箱"
git config --list

8.最后在 hexo 配置文件修改git地址

deploy:
  type: git
  repository: git@username.github.com:githubUserName/githubUserName.github.io.git
  branch: master

可参考我的:

deploy:
  type: git
  repo: git@kentsun.github.com:KentSun/KentSun.github.io.git
  branch: master

配置多个git账户重复以上步骤。

修改remote 作用域

+ 最后修改一下我们在 kentsun 克隆下来的项目的 remote “作用域” 。

$ git remote rm origin
$ git remote add origin git@kentsun.github.com:kentsun/123.git // 注意是 kentsun.github.com 
$ git push origin master
Everything up-to-date 
上一篇 下一篇

猜你喜欢

热点阅读