git配置远程仓库,同时配置github、gitee、gitlab,完美解决方案

2024-05-21 20:59:27 浏览数 (2)

清除 git 的全局设置(针对已安装 git)

新安装 git 跳过。 若之前对 git 设置过全局的 user.nameuser.email。(用 git config --global --list 进行查看你是否设置) 必须删除该设置 git config --global --unset user.name "你的名字" git config --global --unset user.email "你的邮箱"

生成新的 SSH keys

1)GitHub 的钥匙

指定文件路径,方便后面操作:

代码语言:javascript复制
# ~/.ssh/id_rsa.gitlab
ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "××××@qq.com"

直接回车3下,什么也不要输入,就是默认没有密码。 注意 github 和 gitlab 的文件名是不同的。

2)GitLab 的钥匙

代码语言:javascript复制
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitlab -C "××××@qq.com"

3)Gitee 的钥匙

代码语言:javascript复制
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "××××@qq.com"

4)完成后会在~/.ssh / 目录下生成以下文件

代码语言:javascript复制
id_rsa.github
id_rsa.github.pub
id_rsa.gitlab
id_rsa.gitlab.pub
id_rsa.gitee
id_rsa.gitee.pub

添加识别 SSH keys 新的私钥

默认只读取 id_rsa,为了让 SSH 识别新的私钥,需要将新的私钥加入到 SSH agent 中

代码语言:javascript复制
ssh-agent bash 
ssh-add ~/.ssh/id_rsa.github 
ssh-add ~/.ssh/id_rsa.gitlab 
ssh-add ~/.ssh/id_rsa.gitee

多账号必须配置 config 文件(重点) 若无 config 文件,则需创建 config 文件 创建config文件

代码语言:javascript复制
touch ~/.ssh/config

config 里需要填的内容 亲测可以不缩进,所以方便看,建议缩进。

代码语言:javascript复制
# Default gitHub user Self
Host github.com
 HostName github.com
 User git #默认就是git,可以不写
 IdentityFile ~/.ssh/id_rsa.github
 
# Add gitLab user
Host 47.105.225.224
HostName 47.105.225.224
User git
IdentityFile ~/.ssh/id_rsa.gitlab

# gitee
Host gitee.com
 HostName gitee.com
 User git
 IdentityFile ~/.ssh/id_rsa.gitee

# 其他自己搭建的
Host git@git.startdt.net
Port 22
HostName http://git.startdt.net
User git
IdentityFile ~/.ssh/lab_rsa.startdt

(因咱们的git域名和下载的路径不匹配,所以配置里面使用的域名配置,根据个人情况更改ip或者域名)

在 github 和 gitlab gitee网站添加 ssH

(该部分内容不在赘述)

测试是否连接成功

由于每个托管商的仓库都有唯一的后缀,比如 Github 的是 git@github.com:*。 所以可以这样测试: ssh -T git@github.com 而 gitlab 的可以这样测试: ssh -T git@gitlab.corp.xyz.com (验证我们自己的配置请输入 ssh -T git@47.105.225.224) 如果能看到一些 Welcome 信息,说明就是 OK 的了

代码语言:javascript复制
ssh -T git@github.com
ssh -T git@gitlab.com
ssh -T git@gitee.com

结果如果出现这个就代表成功: GitHub -> successfully GitLab -> Welcome to GitLab Gitee -> successfully

0 人点赞