一.明确需求,日常工作中使用的代码管理工具是Gitlab,但是我们需要Gitee也要有一份跟Gitlab代码库中的同样的代码并且Gitlab有新的提交就自动同步到Gitee。

二.入坑前准备工作 

分别注册gitlab账户和gitee账户

需要在gitlab添加一个SSH密钥,如果不添加,在本地就没有操作远程仓库的权限(提交推送的权限)。gitee不需要这一步。

需要在gitlab新建一个空的仓库,gitee也一样新建一个跟gitlab一样的空仓库。为了两个仓库一至性,尽可能保持仓库命名一至。

下载安装Git

没有gitlab账户自行注册)

Git Bash Here

gitlab配置仓库同步 gitlab自动同步远程仓库_git

本地仓库

git init

③设置用户信息,用户名和邮箱直接填gitlab的账户即可,不用填gitee的。因为我们要做的是把代码推到gitlab ,gitlab再自动把代码同步推到gitee

git config --global user.name "你的gitlab账户名"
git config --global user.email "你的gitlab邮箱"

  入坑小技巧

任何提示,即代表设置用户名成功。邮箱设置也一样


④使用命令获取SSH公钥密钥。会生成四个文件。其中id_rsa.pub是公钥、id_rsa是密钥。

ssh-keygen -t rsa -C "gitlab注册的邮箱"

入坑小技巧

⑴.在Gitlab配置的时候,只需要把公钥配置进去即可。

⑵.输入获取密钥命令后,全部默认敲回车。生成密钥成功后会在本地C盘,用户,用户名的文件夹下面,生成.shh文件夹

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab_02

 四.密钥获取成功后,需要在gitlab进行配置公钥。注意这里配置的是公钥

 ①打开gitlab,点击右上角头像,找到设置

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab_03

 ②找到 SSH Keys

 

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab配置仓库同步_04

公钥文件,公钥文件的后缀是.pub。复制粘贴到文本框,点击添加。

gitlab配置仓库同步 gitlab自动同步远程仓库_同步_05

 ④刷新页面后,显示Your SSH keyys 代表公钥添加成功。

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab_06

 五.公钥配置成功后,代表着有权限能把本地代码推送到gitlab.那接下来,进行配置把该仓库自动同步到gitee

①在gitee创建一个与gitlab同样名称的仓库,如果没有gitee账户,自行注册。

②gitee创建创建好后,复制HTTPS地址

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab_07

③打开gitlab,点击Projects,打开需要同步至gitee的仓库

 

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab配置仓库同步_08

 ④如图,这个是我需要同步的仓库

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab_09

⑤打开该仓库的Seteings 找到Repository

gitlab配置仓库同步 gitlab自动同步远程仓库_远程仓库_10

 ⑥找到Mirroring repositories,点击Expand

gitlab配置仓库同步 gitlab自动同步远程仓库_git_11

 ⑦ 把刚才在gitee复制的HTTPS 地址粘贴到URL里面,Psaaword里面填写gitee账户的密码。

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab配置仓库同步_12


 注意事项,URL复制过来后,需要进行以下改动。

⑴.例如,https://gitee.com/xxx/xxx.git 这个是gitee仓库同步地址,我的gitee账户名称是123456@qq.com

⑵.那么如上的url不能直接添加,还需要在该地址前面添加上你的gitee账户名称

格式如下,https://123456@qq.com@gitee.com/xxx/xxx.git

修改前:

gitlab配置仓库同步 gitlab自动同步远程仓库_git_13

修改后:

gitlab配置仓库同步 gitlab自动同步远程仓库_同步_14


⑷.添加成功后,一旦gitlab有新的提交,这里就会显示同步至gitee的时间和次数。

gitlab配置仓库同步 gitlab自动同步远程仓库_gitlab配置仓库同步_15

 本页面是在Mirroring repositories里面,点开Expand往下拉即可看到。

⑸.设置成功后,也可以在gitlab仓库下面,可以看到自动同步一些相关策略

gitlab配置仓库同步 gitlab自动同步远程仓库_远程仓库_16

六.最后

 就是进行一些常用的git 命令操作了。

//初始化
git init
//添加文件到暂存区
git add *
//提交文件
git commit -m "first commit"
//设置提交到远程仓库的地址
git remote add origin https://gitee.com/xxx/xxx.git
//推送到远程仓库
git push -u origin master

//其他命令,例如,强制推送到远程仓库,这样,会覆盖掉远程仓库代码
git push -f origin master


gitlab项目仓库自动同步到码云gitee - 简书 (jianshu.com)


https://www.jianshu.com/p/d99cec15dabe