Git 多账户设置


阅读次数

当我们使用git进行版本管理的时候,通常情况下 可能会遇到在多个不同的管理平台上进行,例如github,gitcafe,gitlab,等等可能都需要生成相应的公钥,需要添加配置文件进行的区分

进行git版本配置的时候,一般使用的是ssh,这样会在本地生成相对应的私钥和公钥,
把公钥配置在服务端,私钥配置在客户端也就是本地

生成公钥和私钥

ssh-keygen -t rsa -C "youemail@xxx.com"

默认只会提示生成 id_rsa 本地的私钥和公钥
当有多个账号的时候,我们生成的id_rsa可以自定义名字用于区分,还是在这个路径下,把这个后面的id_rsa 改成id_rsa_github,或者id_rsa_gitlab等等

接下来提示你输入passphrase,输入你的密码,然后一直下一步就行了

之后就可以在相应的文件夹下看到生成

id_rsa

id_rsa.pub

id_rsa.pub 就是公钥,复制里面的内容添加到你的版本控制平台,例如github ,gitlab,gitcafe

id.rsa 就是私钥,这个是需要添加到本地的

添加公钥和私钥

  • 添加私钥

    输入指令

    ssh-add ~/.ssh/id_rsa

    如果提示

    Could not open a connection to your authentication agent.

    就执行

    eval ‘ssh-agent -s’

    (‘是键盘左上角~按键)

    ssh-add ~/.ssh/id_rsa

    之后回车会提示你输入密码,密码输入过后,就会提示成功了

    PS:(如果添加不同平台的 就添加相应的rsa文件即可,例如ssh-add ~/.ssh/id_rsa_gitlab 等等)

  • 添加公钥

    添加公钥,就是 .pub 后缀的文件内容全部复制到,版本控制平台上即可

添加配置文件

在你的ssh 目录下添加一个config 文件,不需要后缀的
内容如下:

#gitlab项目账号
Host (自定义用于区分)
HostName gitlab.com
User 填写你的用户名
IdentityFile ~/.ssh/id_rsa_gitlab


#github项目账号
Host (自定义用于区分)
HostName github.com
User 填写你的用户名
IdentityFile ~/.ssh/id_rsa



#gitcafe项目账号
Host (自定义用于区分)
HostName gitcafe.com
User 填写你的用户名
IdentityFile ~/.ssh/id_rsa_gitcafe


#coding项目账号
Host (自定义用于区分)
HostName git.coding.net
User 填写你的用户名
IdentityFile ~/.ssh/id_rsa_coding

验证多用户是否正确的配置了

ssh -T git@github.com -i ~/.ssh/id_rsa

或者

ssh -T git@gitcafe.com -i ~/.ssh/id_rsa_gitcafe

或者

ssh -T git@gitlab.com -i ~/.ssh/id_rsa_gitlab

或者

ssh -T git@git.coding.net -i ~/.ssh/id_rsa_coding

之后查看控制台是否提示

Hi YourName! You’ve successfully authenticated, but GitHub does not provide shell access.

ok 大功告成了,之后就可以本地和git进行工作可,记得模式是ssh

Ps:

以上的步骤是在linux 或者mac 下,如果在windows下操作的时候,需要首先安装git,然后启动git bash 在命令行下操作

">