背景

个别状况下,当有多个git账号,如果没有咧,都去尝试一下,例如:

  1. gitee账号,国产github,码云值得领有
  2. github账号,寰球最大同性交友网站
  3. gitlab账号,公司外部的工作开发,至多我所在开发组应用的这个

解决方案

解决办法很简略,新建一个config文件就能够了。

1、本地生成SSH-Key

生成一个gitee用的SSH-Key

$ ssh-keygen -t rsa -C 'xxxxx@163.com' -f ~/.ssh/gitee_id_rsa

生成一个github用的SSH-Key

$ ssh-keygen -t rsa -C 'xxxxx@163.com' -f ~/.ssh/github_id_rsa

生成一个公司用gitlab的SSH-Key

$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitlab_id_rsa

在默认文档中就会生成如下这些文件:

2、git平台设置中

将 .pub 文件中内容复制到相应的平台SSH设置中,例如:

gitee_id_rsa.pub中的文件内容复制到码云的SSH公钥中。

3、新建config文件

在 ~/.ssh 目录下新建一个config文件,增加如下内容:

# giteeHost gitee.comHostName gitee.comPreferredAuthentications publickeyIdentityFile ~/.ssh/gitee_id_rsa# githubHost github.comHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/github_id_rsa# gitlabHost xxxx.comHostName xxxx.comPreferredAuthentications publickeyIdentityFile ~/.ssh/gitlab_id_rsa

其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的门路。

切实不知道Host和HostName怎么填的呢,譬如不晓得公司外部的服务器域名,能够在known_hosts文件中查看。

4、测试是否联通

用ssh命令别离测试,@前面跟着的是域名呀。

$ ssh -T git@gitee.com$ ssh -T git@github.com$ ssh -T git@xxxx.com

看到界面返回欢送标语的时候,就阐明胜利啦。

至此,你就能够在同一台电脑上,欢快的进行各大平台的代码提交。

关注我吧