场景

当程序员想在家提交代码到企业私服时,发现只有公司内网设备才能连,如何同步?

经过思考,需要创建一个代理仓库就能做到了

步骤

1)项目设置两个仓库,这里命名vvww, 假设ww是代理仓库

2)第一天早上【在公司】项目关联两个仓库

3)第一天下班【在公司】分别推送到两个仓库

4)第一天晚上【在家里】拉取代理仓库 ww, 修复bug,推送到ww 仓库

5)第二天早上【在公司】先拉取代理仓库ww 的代码,将ww的代码同步到本地,解决与vv的冲突,

在将代码提交到vvww

以此类推下去......

流程图

image-20250224233345216

案例

1、创建仓库

1)在gitlab 上创建 仓库vv:https://gitlab.com/cwh4/vv

2)在 gitee 上创建仓库 ww: https://gitee.com/CWH6/ww

2、模拟公司环境

1)idae 创建maven 项目 取名vv

2)进入项目命名行,初始化 Git

1
git init

3)点 击IDEA 顶部的git, 点击 Manage Remotes

添加上面,两个仓库的地址

master/origin https://gitlab.com/cwh4/vv

ww https://gitee.com/CWH6/ww

image-20250224235722925

4)向两个仓库提交代码

提交到vv仓库

image-20250224235846624

提交到ww仓库

image-20250224235958018

image-20250225000019647

3、模拟家里环境

1)从 ww代码仓库拉取代码

2)创建一个A类,并提交代码

image-20250225000354110

4、模拟下一次公司环境

1)切换到 ww 代码

image-20250225000933320

2)拉取 ww 的代码, git pull

3)切换到 master(vv)

image-20250225001321286

4)将ww 的代码合并到 vv

image-20250225001357299

然后就能看到vv的代码里面多个A类