Git将一个项目同时从本地推送到GitHub和Gitee
前言
博主是根据自己的情况写这篇博文的,每个人遇到的情况和需求可能不一样哈,所以初始的步骤也不一定一致,但是同时推送到Github和Gitee的步骤都会是一致滴!
Gitee拉取Github仓库
直接在Gitee中创建一个项目,然后再最后一行导入Github项目就阔以啦!
去到你的Github仓库复制https链接,直接粘贴就阔以啦
到此为止,在Gitee就已经创建好仓库啦
本地配置推送方式
方式一:定义不同的远程仓库名称,然后分别推送 多次推送,配了几个远程仓库就推送几次
方式二:在同一个远程仓库下添加另一个远程仓库的地址,然后推送 only一次推送
以下情况均是本地只有单个ssh-key时的操作!!
方式一:多次推送
优点 | 缺点 |
| 推送仓库数量多时,时间成本高 |
1.可以直接通过命令将本地项目和gitee项目关联
git remote add gitee 码云项目地址
2.也可以通过修改本地项目的配置文件
- 首先,进入到项目的 .git 文件夹,打开 config 文件
- 然后,找到 [remote "origin"] ,复制一份remote到下面,修改remote的名字和url即可
为了避免冲突,将原始的remote名字也改掉,注意:remote的名字任意,但是在提交的时候要与这里对应
3.执行以下命令,可以看到配置的两个仓库
git remote
4.推送代码时,需要对两个仓库分别执行一次push命令,也就是多次推送
git push github matser
git push gitee master
方式二:一次推送
1.通过命令将码云项目地址添加到本地已有的remote下
git remote set-url --add origin 码云项目地址
2.也可以通过修改本地项目的配置文件
3.推送代码只需执行以下一条命令即可
git push
可能会遇到的问题
博主就是配完之后遇到了该问题,所以拿出来跟大家说说哈
git push的时有时候会出现错误[rejected] master -> master (fetch first)
此时可以输入: git push -f 进行解决错误,然后再: git push
如果上述解决方式不管用也可以输入: git pull --rebase origin master 之后再进行 git push 即可。
当本地有多个ssh-key时
如果也想配多个ssh-key的话,可以参照这篇文章哦:https://www.cnblogs.com/poloyy/p/12189140.html
你需要更改两个地方
第一:公钥配置文件,目录是: C:\Users\user\.ssh 下的 config 文件
现在多了gitee,所以对应的Host也要增加,如下图
我这里是两个ssh-key都会被Github和Gitee共用,正常来说是一个ssh-key指向一个仓库即可,譬如第一个key的Host配成Github的,第二个Key的Host配成Gitee
第二:需要修改在上面配置过的 config 文件,它在你的项目目录下的 .git 文件夹下
原本只有一个ssh-key时,你的配置文件可能是这样的
当你有两个ssh-key时,你的配置文件就需要改成如下
最后将 Github_HOST 、 Gitee_HOST 替换成你自己配置里的Host地址
其余步骤都是一样的啦!这里就是要强调下,如果有多个ssh-key时,还得修改下配置文件而已~