背景
个别状况下,当有多个 git 账号,如果没有咧,都去尝试一下,例如:
- gitee 账号,国产 github,码云值得领有
- github 账号,寰球最大同性交友网站
- 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 文件,增加如下内容:
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
# gitlab
Host xxxx.com
HostName xxxx.com
PreferredAuthentications publickey
IdentityFile ~/.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
看到界面返回欢送标语的时候,就阐明胜利啦。
至此,你就能够在同一台电脑上,欢快的进行各大平台的代码提交。
关注我吧