多个github帐号的ssh keys支持

不知不觉就有了多个github帐户,平时为了方便都是采用ssh去操作git,所以这个时候问题就来了,在同一台机器上对多个github操作时,会因为ssh key只有一个而无法提交。所以我需要想办法配置多个ssh keys.

解决办法

放狗搜了一圈,有类似需求的大有人在。例如这里:Multiple GitHub Accounts & SSH Config

\’I\’m having some trouble getting two different SSH keys/GitHub accounts to play well together. I have the following setup:

Repos accessible from one account using git@github.com:accountname Repos accessible from another account using git@github.com:anotheraccount

傻瓜操作步骤

生成新的ssh key

ssh-add这一步很重要,否则是前功尽弃


ssh-keygen -t rsa -C \'work@mail.com\'
ssh-add ~/.ssh/work_rsa

配置.ssh/config

我只需要在~/.ssh/config里新增一个Host的别名,将不同帐号的区分开来就可以了。

Host me.github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/me_rsa

Host work.github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/work_rsa

配置git仓库

需要把git的配置更改过来,其中github.com更换为work.github.com,这样它会找到对应的key来登录。

git remote add origin git@work.github.com:work/test.git

在Git下创建一个空分支

有时候我们需要在Git下创建一个空分支,从头开始Coding —— 这大概是那些重构帝最喜欢的事情。参考了github,才找到一个合适的方法。

怎样安全的进行这项操作

我们需要建一个“孤立”的空分支,为了尽可能的保证数据安全,最好还是重新clone一份代码。

$git clone https://github.com/user/repo.git
# Clone our repo

# Cloning into \'repo\'...
# remote: Counting objects: 2791, done.
# remote: Compressing objects: 100% (1225/1225), done.
# remote: Total 2791 (delta 1722), reused 2513 (delta 1493)
# Receiving objects: 100% (2791/2791), 3.77 MiB | 969 KiB/s, done.
# Resolving deltas: 100% (1722/1722), done.

开工

这里以github的操作为例,下面试图创建一个名为gh-pages的空分支

$cd repo

$ git checkout --orphan gh-pages
# 创建一个orphan的分支,这个分支是独立的
Switched to a new branch \'gh-pages\'

git rm -rf .
# 删除原来代码树下的所有文件
rm \'.gitignore\'

注意这个时候你用git branch命令是看不见当前分支的名字的,除非你进行了第一次commit。

下面我们开始添加一些代码文件,例如这里新增了一个index.html

$ echo \"My GitHub Page\" > index.html
$ git add .
$ git commit -a -m \"First pages commit\"
$ git push origin gh-pages

在commit操作之后,你就可以用git branch命令看到新分支的名字了,然后push到远程仓库。

参考链接

Markdown Preview Plus

Markdown Preview Plus是一个chrome下的markdown预览插件。这个插件基于Markdown Preview的基础上,做了一部分改进。

改进的部分

  • 支持自动加载,这个选项默认是关闭的,可在options中设置。
  • 支持http和https的markdown文件预览
  • 支持部分css样式,例如Github,TopMarks,另外也从Mac下的客户端Mou中导入了Clearness样式

预览

设置界面的预览

\"Markdown

使用详情可参考使用markdown格式写Todo list

做这个插件的初衷

我比较习惯使用vim编辑文件,虽然现在有不少带即时预览功能的markdown编辑工具,仍然无法适应,所以做了这个插件来满足日常的编辑需求。如果有问题,请在github上指出。