标签:
比如一个公司账号一个个人账号。
私人账号如下:
邮箱example@126.com
账号:example
公司工作账号如下:
work@xx.com
账号:mywork
CD到~/.ssh目录,使用ssh-keygen生成不同的ssh key。命令如下:
cd ~/.ssh ssh-keygen -t rsa -C "mywork@email.com"
在提示输入ssh key的文件名时,写上你希望的名字。我的工作账号使用了原名id_rsa,个人账号使用id_rsa_personal。
修改ssh config文件(~/.ssh/config),如果没有就新建一个。内容如下:
# personal account
host github_me.com
hostname github.com
User expample
IdentityFile ~/.ssh/id_rsa_personal
# work account
Host github.com
Hostname github.com
User mywork
IdentityFile ~/.ssh/id_rsa
这种情况下,需要几点注意
1.remote pull push的时候有问题,因为要设置邮箱问题了 pull的时候识别的是邮箱,2个github账号,2个邮箱,我们自然不能使用global的user.email了
1).取消global
git config --global --unset user.name
git config --global --unset user.email
2).设置每个项目repo的自己的user.email
git config user.email "xxxx@xx.com"
git config user.name "suzie"
之后push pull就木有问题了。由于没有了global config了,因此当你用SourceTree的时候也会提示你给项目设定user email和name
2.如果以上步骤还是不行的话,请用以下命令行将ssh key 加到ssh agent中
ssh-add ~/.ssh/id_rsa_work
3. 可以测试ssh -T host进行检测,看是否添加成功。如:
ssh -T github_me.com
标签:
原文地址:http://www.cnblogs.com/csutanyu/p/4448223.html