将本地仓库同时和gitee和GitHub关联起来

参考这篇文章

gitee拉取GitHub

直接在Gitee中创建一个项目,然后在最后一行的“导入已有仓库”一栏中复制已有的GitHub仓库就可以了。
需要注意的是,复制的仓库地址是https链接而不是SSH格式

这样的话就已经创建好了仓库

本地配置推送方式

  • 方式一:定义不同的远程仓库名称,然后分别推送 多次推送,配了几个远程仓库就推送几次
  • 方式二:在同一个远程仓库下添加另一个远程仓库的地址,然后推送 only一次推送

本地只有单个ssh-key时的包

方式一:多次推送
  • 优点
    • 想推哪个仓库就推哪个
    • 不想推就不推哪个
  • 缺点
    • 推送仓库数量多时,时间成本高

1.可以直接通过命令将本地项目和gitee项目关联

1
git remote add gitee 码云项目地址

2.也可以通过修改本地项目的配置文件
1、首先,进入项目的.git文件夹,打开config文件
2、然后找到[remote "origin"],复制一份remote到下面,修改remote的名字和url即可

1
2
3
[remote "origin"]
url = git@github:jjjlk
fetch = jjlkjl

为了避免冲突,将原始的remote名字也改掉,注意:remote的名字任意,但是提交的时候要和对应config文件里的remote对应名字相同。

1
2
3
4
5
6
7
[remote "github"]
url = github地址
fetch = jjlkjl

[remote "gitee"]
url = gitee地址
fetch = jjlkjl

3、执行以下命令,可以看到配置的两个仓库

1
git remote

4、推送代码时,需要对两个仓库分别执行一次push命令,也就是多次推送

1
2
git push github master
git push gitee master
方式二:一次推送

通过命令将码云项目地址添加到本地已有的remote下

1
git remote set-url --add origin 码云项目地址

2、也可以通过修改本地项目的配置文件
直接在项目的config文件下进行配置
在上述方式的

1
2
3
4
[remote "origin"]
url = github地址
url = gitee地址
fetch = jaojisoajc

推送代码只需执行以下一条命令即可

1
git push
可能会遇到的问题

git push的时候有时候会出现错误[rejected] master -> master(fetch first)error: failed to push some refs to 'git@cinu'

此时可以输入:git push -f进行解决错误,然后再:git push

如果上述解决方式不管用也可以输入:git pull --rebase origin master之后再进行git push即可。

当本地有多个ssh-key时

如果想要配置多个ssh-key的话,可以参考文章1文章2

需要更改两个地方:
第一:公钥配置文件,目录是:C:\User\.ssh下的config文件
正常来说是一个ssh-key指向一个仓库即可,譬如第一个key的Host配成github的,第二个key的Host配成gitee

第二:需要修改在上面配置过的config文件,它在项目目录下的.git文件夹下
原本只有一个ssh-key时,配置文件可能是这样的:

1
2
3
4
[remote "origin"]
url = git@github.com:用户名/项目名.git
url = git@gitee.com:用户名/项目名.git
fetch = hiohohuihohioih

当有两个ssh-key时,配置文件需要改成

1
2
3
4
[remote "origin"]
url = git@{GitHub_HOST}:用户名/项目名.git
url = git@{Gittee_HOST}:用户名/项目名.git
fetch = khdsuifchsdlifh

最后将Github_HOSTGitee_HOST替换成我们自己配置里面的Host地址

其余步骤都是一样的,需要强调的是,如果有多个ssh-key时,还得修改下配置文件。

补充

如果只需要把博客同时推送到两个远程仓库中,只需要在_config文件中添加如下代码:

1
2
3
4
5
6
7
deploy:
type: git
# repository: git@github.com:flysara/flysara.github.io.git
repository:
gitee: git@gitee.com:luckyTeresa/luckyTeresa.git
github: git@github.com:flysara/flysara.github.io.git
branch: master

然后在项目下大概GUI Bash,输入git remote add gitee 码云地址git remote add github GitHub地址即可。推送的时候直接hexo d

-------------本文结束感谢您的阅读-------------