Gitlab仓库推送到Gitee仓库的一种思路

文章目录

  • Gitlab仓库推送到Gitee仓库的一种思路
    • 1、创建Gitee的ssh公钥(默认已有Gitlab的ssh公钥)
    • 2、添加Gitlab远程仓库地址
    • 3、添加Gitee远程仓库地址
    • 4、拉取Gitlab远程仓库指定分支到本地仓库指定分支(以test分支为例)
    • 5、推送本地仓库指定分支到Gitee远程仓库指定分支(以test分支为例)
    • 6、修改Gitee远程仓库地址
    • 7、完成从Gitlab仓库推送到Gitee仓库动作

Gitlab仓库推送到Gitee仓库的一种思路

由于一些不可抗因素,原本在gitlab仓库存储的代码,需要在Gitee上也部署一套,通常简单的修改、协同开发时,成员少的情况下,可以通过手动复制修改内容、覆盖文件等方式解决。但是,一旦修改的文件内容较多、协同开发的人员过多,合并修改,将是一件非常头痛的事情,因此,本文提供了一种便捷的处理方式,解决上述问题。

1、创建Gitee的ssh公钥(默认已有Gitlab的ssh公钥)

a、打开命令行控制台,执行命令:cd ~/.ssh
b、执行生成公钥秘钥的命令:ssh-keygen -o

Gitlab仓库推送到Gitee仓库的一种思路_第1张图片

c、查看新生成的公钥信息,并将其添加到Gitee公钥配置中
执行命令:cat ~/.ssh/gitee/id_rsa_gitee_dmt.pub
Gitlab仓库推送到Gitee仓库的一种思路_第2张图片
Gitlab仓库推送到Gitee仓库的一种思路_第3张图片

2、添加Gitlab远程仓库地址

git remote add gitlab [email protected]:industry/assgroup/ass-front.git

3、添加Gitee远程仓库地址

git remote add gitee [email protected]:htw123/ass-front.git

4、拉取Gitlab远程仓库指定分支到本地仓库指定分支(以test分支为例)

git pull gitlab test:test

5、推送本地仓库指定分支到Gitee远程仓库指定分支(以test分支为例)

git push gitee test:test

如果提示如下错误,则可能已有其他账号Gitee公钥配置,需要在.ssh目录下添加config配置文件(如已存在则在其中添加内容即可):
Gitlab仓库推送到Gitee仓库的一种思路_第4张图片
Gitlab仓库推送到Gitee仓库的一种思路_第5张图片
config配置文件新增配置如下:
Gitlab仓库推送到Gitee仓库的一种思路_第6张图片

#个人gitee的配置
Host dmt_gitee.com
    HostName gitee.com
    IdentityFile ~/.ssh/gitee/id_rsa_gitee_dmt
    User git

6、修改Gitee远程仓库地址

git remote add gitee dmt_gitee.com:htw123/ass-front.git

观察发现,如果同一个代码托管平台有多个账号的情况下,config文件配置的 Host 是不能一样的,而对应账号下的代码仓库,其pull/push操作秘密认证依赖 Host 下 IdentityFile 对应秘钥,所以,代码仓库地址的 [email protected] 地址应该为 Host 对应地址,如上述配置:dmt_gitee.com 。
重复执行第5步,发现推送正常:
Gitlab仓库推送到Gitee仓库的一种思路_第7张图片

7、完成从Gitlab仓库推送到Gitee仓库动作

以上1-5步完成后,去Gitee代码仓库test分支检查代码是否同步完成,继续后续在Gitee上的操作。

说明:
查了很多资料,上述出现的问题都没找到处理的解决方案,最终在gitee官方文档中找到了关键解决方案,即第6步,希望能给有同样困扰的同学提供一些思路。

参考:
Git 配置多个 SSH Key

你可能感兴趣的:(gitlab同步gitee,Gitee多账号,Gitee多sshkey)