在一个客户端设置多个git账号

步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub。

ssh-keygen -t rsa -C "new email"

平时我们都是直接回车,默认生成id_rsa和id_rsa.pub。这里特别需要注意,出现提示输入文件名的时候要输入与默认配置不一样的文件名,比如: id_rsa_github。
步骤二:配置~/.ssh/config文件,以我自己的机器为例。没有config 文件就新建一个


#Default Git

# 配置gitlab.jufuns.cn
Host gitlab.jufuns.cn
HostName gitlab.jufuns.cn
IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa
User fuxingkai
# 配置github
Host github.com
HostName github.com
IdentityFile C:\\Users\\Administrator\\.ssh\\id_rsa_github
User fuxingkai

Host就是每个SSH连接的单独代号,IdentityFile告诉SSH连接去读取哪个私钥。

步骤三:执行ssh-agent让ssh识别新的私钥。

ssh-add ~/.ssh/id_rsa_github

该命令如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent,可执行ssh-agent bash命令后再执行ssh-add命令。
以后,在clone或者add remote的时候,需要把config文件中的host代替git@remoteaddress中的remoteaddress。

同时,你可以通过在特定的repo下执行下面的命令,生成区别于全局设置的user.name和user.email。

git config user.name "newname"

git config user.email "newemail"

#git config --global --unset user.name 取消全局设置

#git config --global --unset user.email 取消全局设置

例子:

#在同一机器不同目录下克隆远程同一个repo

cd /home/user1

git clone git@defaultgit:xxx.git

cd /home/user2

git clone git@secondgit:xxx.git
上面的两条clone命令,虽然关联到同一个repo,却是通过不同ssh连接,当然也是不同的git账号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值