引言

我们在进行项目迁移,或者是给甲乙外包写项目,需要迁移代码或者同步更新时,所处于的GitLab地址是不一样的,那么我们如何进行同步呢?我们可能第一时间会想到,先拉A地址的代码到本地,然后覆盖提交到B地址,可是如果每天都需要进行这个操作,或者说是实时更新,是很让人头疼的事情,那么有没有办法可以解决这个问题呢? 答案当然是有的,我们来看看GitLab中自带的推送方案。

首先我们定义 A为需要导出的项目GitLab地址即源仓库,以下简称为A, B为需要导入更新方即目标仓库,以下简称为B。 整个过程相当于 A --> B

示意图

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_git

1. 创建目标仓库所属群组与项目名

建立群组

我们来到地址B,首先新建立一个群组,如果不需要建立群组可以直接跳过该步骤

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_gitlab_02


输入名称等信息后建立该群组

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_gitlab_03

2.建立项目

然后是建立项目

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_gitlab_04


创建项目名称以及设置所属群组

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_gitlab_05


创建后我们复制该下载地址

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_群组_06

3.项目投递

我们再切回来项目A,拿到对应的投递地址,如图输入相关信息。比如地址是 http://gitlab.com 建议加上用户名:如果是root则为 http://root@gitlab.com

4.更新项目

创建后看到列表,点击刷新进行第一次手动更新

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_git_07


可以看到正在更新中,会发现最后更新的尝试时间变成了Just Now

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_群组_08


更新完成后会发现更新时间已经刷新了,稍等一会手动刷新页面就能看到

gitlab 实时同步代码到另一台服务器 两个gitlab怎么同步_用户名_09


至此,去B地址访问项目,发现项目已经更新投递完毕,之后即可自动更新。