如何在一个Git仓库内配置两个远程地址并进行自动切换

背景:在公司的时候使用Gitlib内网域名,在家时只能使用外网域名(其实没有外网域名,是做内网转发),目前回家就要把git仓库域名改为外网域名,到公司就要手动改成内网域名,非常麻烦

目标:同时配置两个git远程仓库地址(其实是同一个,一个内网一个外网),优先使用内网,内网地址无法使用时,自动使用外网 (相当于轮询?)

使用nginx做负载代理,将指定的外网域名转发到内网服务器上指定ip+端口上

你家不是有路由器么?把你家的路由器的host设置一下,电脑里面就用公司的内网域名,家里路由器的host将这个内网地址映射到外网地址上就可以了;
具体设置方式要看你家路由器了,自行百度吧,希望对你有帮助,记得点采纳

source tree 了解下

git remote add 以后手动制定远程仓库不就行了?

git fetch outer

git push outer master

感觉可以用git添加remote,如果你在公司的remote是origin的话,比如在家

# 添加一个新的名称outer,放入外网域名
git remote add outer xxx
# 设置本地分支跟踪这个outer的master分支
git push set-upstream outer master

在公司的话维持不变就行

文章里有答案
https://blog.csdn.net/yinghuochong124/article/details/119730511
https://blog.csdn.net/loney_wolf/article/details/117253159

C:\Users\Administrator\.ssh\config
修改这个文件,没有就新建
添加如下

Host            gitee1
HostName        gitee.com
User            git
IdentityFile    C:\Users\Administrator\.ssh\id_ed25519_1

Host            gitee2
HostName        gitee.com
User            git
IdentityFile    C:\Users\Administrator\.ssh\id_ed25519_2

这样就可以使用指定的配置,不用切来切去了

git clone git@gitee1:xxx/xxxx.git
git clone git@gitee2:xxx/xxxx.git

如有帮助,请采纳,十分感谢!