日常工作中我们可能需要处理来自不同代码托管平台仓库的代码,如github、gitee、jenkins等,如何使用SSH并在这些仓库中来回切换并能顺畅无感的提交代码是要优先解决的问题。
第一步
生成特定标签的ssh key,如下例子,比方说我有个企业的repo在github上,它区分于普通的public repo,针对这个企业的账号,重新设置它的SSH key,我使用了“enterprise”作为这个ssh的标识。以下基于linux平台。
ssh-keygen -t rsa -C "enterprise"
同时修改默认的路径,我这边是在/home/ivan/.ssh/enterprise
第二步
cat /home/ivan/.ssh/enterprise.pub
把生成后的密钥贴到github 平台上的ssh密钥中 "Settings -> SSH and GPG keys -> New SSH key"
第三步
新建一个配置文件~/.ssh/config
Host github-enterprise
HostName github.com
IdentityFile ~/.ssh/enterprise
User git
Host github
HostName github.com
IdentityFile ~/.ssh/id_rsa
User git
Host gitee
HostName gitee.com
IdentityFile ~/.ssh/gitee
User git
第四步
上面我们指定了host
为github-enterprise
作为企业repo的host之后就可以使用这个名字取代默认的github。企业账号额外一步是需要授权给到这个企业,如下操作。
如,需要clone repo:
git clone git@github-enterprise:OWNER/REPO
添加本地到远程:
git remote add github-enterprise git@github-enterprise:OWNER/REPO
如果只是使用普通的github repo只需要把host换一下,如:
git clone git@github.com:OWNER/REPO
# 或者
git clone git@gitee.com:OWNER/REPO