Gitlab代码库自动同步到Github
Gitlab代码库自动同步到Github
Gitlab代码库自动同步到Github
- 在GitHub上创建Token
- 在GitLab中配置镜像地址
公司内部建了一个GitLab服务,用来管理开发文档和代码,但是远程访问不方便,为了便于开发人员在家也能看文档和代码,觉得在GitHub上开一个账号,把一些内容放上去。为了能在GitHub上看到完整的开发历史,就有了把内网GitLab现有代码库迁移到GitHub的需求。
迁移过程从大的方面来说就两个步骤:
1.在GitHub上创建一个私有访问的Token,作用相当于密码;
2.在GitLab中配置镜像地址。
在GitHub上创建Token
1.在GitHub个人页面,点击右上角的头像,点击“Settings”
2.在页面左侧点击“Developer settings”
3.点击页面左侧的“Personal access tokens.”
4.点击按钮“Generate new token.”
5.填写Token描述,选择你要给予当前Token的访问权限,如果想要使用当前Token访问代码库,请选择“repo”
6.点击“Generate token”
7.生成的token要注意保存,点击复制按钮保存到其他地方,一旦关闭这个页面以后就再也看不到了
页面刷新以后是这个样子:
接下来就可以在命令行中使用这个刚创建的token了。例如,你要clone一个私有代码库:
$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token
可见token的作用就是密码,那为什么又要多此一举创建一个token呢?因为密码的权限太大了,我可以创建一个只有很小权限的token,提供给运维人员,用来同步GitLab的代码到GitHub。
接下来,就是在内网的GitLab中配置镜像地址了。
在GitLab中配置镜像地址
1.在GitLab中选择要镜像到GitHub的代码库,点击进入项目界面
2.在页面左侧点击“Settings”,然后点击中间Mirroring repositories的“Expand”按钮
3.设置URL
URL的格式:
https://username:token@github.com/test/test.git
注意:这里的token可以替换成密码,但是个人不建议这么做。
4.配置完成后,点击Update now按钮,就会把GitLab的中内容同步到GitHub
结果展示,在GitHub上已经可以看到同样的内容,而且提交记录完整: