SourceTree配置多个不同Remote地址的仓库

需求

在我们开发过程中,有可能需要拉取的地址仓库不在同一个仓库中,有些可能在Github上,有些可能在Gitlab上。

所以我们需要配置Github的仓库的配置和Gitlab仓库的配置。

现在,我们来配置两个不同的仓库的地址。

假设:

Gilab地址:http://192.168.3.100/group/testRemo1.git

Github地址:https://github.com/username/testRemo2.git

其中:

group:Gitlab服务器上对于的群组名;testRemo1:仓库(在Gitlab后台上称为项目)名。

username:Github远程仓库拥有者的用户名(注意是拥有者的Github用户名,不是我们自己的,之后我们还需要有自己的Github账户);testRemo2:仓库名。

正常情况下:

Gitlab:我们使用gitlab可以使用我们自己的用户名和密码去拉取远程仓库。

Github:我们使用ssh key配置来拉取远程仓库。

添加多份SSH Key配置

在GitBash上执行:

ssh-keygen -t rsa -C "your_email@example.com" -f ~/.ssh/id_rsa_repo1

ssh-keygen -t rsa -C "your_email@example.com" -f ~/.ssh/id_rsa_repo2

这里的"your_email@example.com"替换为自己的邮箱地址。

执行了这两个命令之后,在Windows的C:/用户/"自己的用户名"/.ssh/目录上就会多了几个文件,其中包括:

id_rsa_repo1

id_rsa_repo1.pub

id_rsa_repo2

id_rsa_repo2.pub

这里的"id_rsa_repo1.pub"是为Gitlab准备的,但是我们拉取Gitlab上的仓库是使用用户名和密码去拉取,所以这个暂时是不需要到的。

这里的"id_rsa_repo2.pub"是为Github准备的,等一下我们需要把这个文件里的内容复制到我们自己的Github账户SSHKey配置中。

Tips:既然不需要到id_rsa_repo1相关文件,那我们为什么还去创建他,因为我们可以经过这样的对比来了解在不同的仓库下的配置处理,这样之后如果想把Gitlab配置成SSH,就知道如何处理了。

再在GitBash上执行

ssh-add ~/.ssh/id_rsa_repo1

ssh-add ~/.ssh/id_rsa_repo2

在执行"ssh-add"时,可能会出现报错:

Could not open a connection to your authentication agent

可以执行

eval $(ssh-agent)

来启动ssh代理。

在Github中配置SSH

选择"SSH and GPG keys"可以看到,我这里已经配置了一个SSH Key了。

这个Key的SHA256码为:MSq1PY5oQPsvNij4DpM/nO...............

各位看官的这个列表里应该是没有这个Key的,所以我们现在来配置一下。

点击"New SSH key"

Tittle随便填什么。

Key里的内容,我们就打开"id_rsa_repo2.pub"文件,把里面的内容全部复制出来,粘贴到这里。

这样,我们就有了一个Key了。

在SourceTree配置

现在我们在SourceTree添加Github账户,点击"工具"-》"选项"-》"验证"切页,然后再点击"添加",则出现以下界面。

然后再"托管服务商"总选择"Github",再点击"刷新 OAuth令牌"。

会跳转到我们自己的Github账户中。

然后再点击"Authorize altassian"按钮,即可授权成功。

这样就添加了一个自己的Github账户

然后,Github的仓库拥有者就可以给我们一个权限。我们就可以拉取远程仓库了。

拉取远程仓库

注意:

全程操作应该有科学上网支持。

但是即使有科学上网支持,我们还是可能使用git clone命令拉取不了远程仓库,这是因为git也要配置代理。

首先查看当前代理配置

可能你输入git config --global --get http.proxy后,没有任何显示,则你当前没有配置代理。

之后我们需要输入

git config --global http.proxy 127.0.0.1:29290

git config --global http2.proxy 127.0.0.1:29290

127.0.0.1:29290可以修改为你任意的代理地址。

相关推荐
YuePeng12 小时前
写了五年注解的低代码框架,2.0 决定让你连注解都不用写了
github·产品
小白ai12 小时前
从"能 ping 通吗"到"为什么上不了网"——我写了一个网络故障诊断引擎
github
徐小夕14 小时前
jitword 协同文档3.2发布:打造浏览器中最强word编辑器
前端·架构·github
齐翊16 小时前
分享一个在 Claude Code 里 [同时] 用多个 ApiKey 的方法
程序员·github·agent
A_Lonely_Cat16 小时前
记一次 GitHub 幽灵协作者大清洗:强制重写 Git 历史与穿透 CDN 缓存实践
git·github
极光技术熊1 天前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
用户39483951075531 天前
怎么让我的 Agent 真正"懂"我?——关于记忆、经验学习与预测的一些真实体验
github
远航_2 天前
git submodule
前端·后端·github
fthux2 天前
如果你用 Mac,那你可能需要 Noti Shift
macos·开源·github
程序员天天困2 天前
Loop Engineering 实战:/goal 命令让 AI 自己写完整项目
github