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

2023-12-18 16:58:11

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

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

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

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

在这里插入图片描述

c、查看新生成的公钥信息,并将其添加到Gitee公钥配置中
执行命令:cat ~/.ssh/gitee/id_rsa_gitee_dmt.pub
在这里插入图片描述
在这里插入图片描述

2、添加Gitlab远程仓库地址

git remote add gitlab git@gitlab.hzdingmao.com:industry/assgroup/ass-front.git

3、添加Gitee远程仓库地址

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

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

git pull gitlab test:test

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

git push gitee test:test

如果提示如下错误,则可能已有其他账号Gitee公钥配置,需要在.ssh目录下添加config配置文件(如已存在则在其中添加内容即可):
在这里插入图片描述
在这里插入图片描述
config配置文件新增配置如下:
在这里插入图片描述

#个人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 对应秘钥,所以,代码仓库地址的 git@gitee.com 地址应该为 Host 对应地址,如上述配置:dmt_gitee.com 。
重复执行第5步,发现推送正常:
在这里插入图片描述

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

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

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

参考:
Git 配置多个 SSH Key

文章来源:https://blog.csdn.net/dmt742055597/article/details/135063800
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。