在使用多个 Git 服务(例如同时使用 GitHub、GitLab 和 Gitee)时,你可以通过配置不同的 SSH 密钥和相应的主机别名来区分它们。以下是具体的配置步骤:
1. 为每个 Git 服务生成独立的 SSH 密钥
打开终端,分别执行以下命令生成不同的 SSH 密钥(替换为你的邮箱):
# GitHub密钥
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_github
# GitLab密钥
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_gitlab
# Gitee密钥
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519_gitee
2. 将公钥添加到对应的 Git 服务
生成密钥后,将每个公钥(如~/.ssh/id_ed25519_github.pub
)的内容复制到对应平台的 SSH 设置中:
cat ~/.ssh/id_ed25519_github.pub # 复制输出内容到GitHub
cat ~/.ssh/id_ed25519_gitlab.pub # 复制输出内容到GitLab
cat ~/.ssh/id_ed25519_gitee.pub # 复制输出内容到Gitee
3. 配置 SSH 客户端区分不同服务
编辑 SSH 配置文件(如果不存在则创建):nano ~/.ssh/config
添加以下内容(根据实际情况修改):
# GitHub配置
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_ed25519_github
User git
# GitLab配置
Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/id_ed25519_gitlab
User git
# Gitee配置
Host gitee.com
HostName gitee.com
IdentityFile ~/.ssh/id_ed25519_gitee
User git
4. 验证配置是否生效
执行以下命令测试连接:
ssh -T git@github.com # 应显示GitHub的欢迎信息
ssh -T git@gitlab.com # 应显示GitLab的欢迎信息
ssh -T git@gitee.com # 应显示Gitee的欢迎信息
5. 使用正确的 URL 克隆仓库
克隆时直接使用默认的域名(SSH 配置会自动匹配密钥):
# GitHub仓库
git clone git@github.com:username/repo.git
# GitLab仓库
git clone git@gitlab.com:username/repo.git
# Gitee仓库
git clone git@gitee.com:username/repo.git