一台电脑上配置多个git账户
2016-11-21 本文已影响35人
kevinLY
北京的今天迎来了2016年的第一场雪
背景
我们公司用的是oschina管理代码,但是我有一个公司账户(liuyangA@163.com),也有一个自己的账户(liuyangB@163.com),现在面临的问题是 想让这两个账户在公司的电脑上都能登录;
准备:
oschina上的两个账户的邮箱:
liuyangA@163.com
liuyangB@163.com
开始:
一、生成ssh key
$ ssh-keygen -t rsa -C "liuyangA@163.com"
$ ssh-keygen -t rsa -C "liuyangB@163.com"
注意:不要一路回车,需要修改rsa_id文件名
例如:
运行:$ ssh-keygen -t rsa -C "liuyangA@163.com"
修改 /Users/yangL/.ssh/id_rsa 为 /Users/yangL/.ssh/id_rsa_liuyangA
二、添加私钥
1、查看系统ssh-key代理
ssh-add -l
如果找不到执行下面的命令
exec ssh-agent bash
2、把 .ssh 目录下的2个私钥添加的 ssh-agent
ssh-add ~/.ssh/id_rsa_liuyangA
ssh-add ~/.ssh/id_rsa_liuyangB
三、配置ssh
1、在ssh的目录下创建config文件
#liuyangA@163.com
Host oschinaperson
HostName git.oschina.net
PreferredAuthentications publickey
User liuyangA@163.com
IdentityFile ~/.ssh/id_rsa_liuyangA
#liuyangB@163.com
Host oschinawork
HostName git.oschina.net
PreferredAuthentications publickey
User liuyangB@163.com
IdentityFile ~/.ssh/id_rsa_liuyangB
注意:oschinaperson 是一个对应git.oschina.net的别名,用于定位id_rsa_liuyangA配置文件
2、修改远程git config配置
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@git.oschina.net:LkevinY/AiWuJiWu.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
修改git.oschina.net 为 oschinaperson
2016.11.21 @北京 网信大厦
不懂就药问