前言
笔者上个博客博客源码丢失,一段时间心灰意冷的。最近心血来潮,就重新搭了现在这个博客;目前源码分别放在 Github 跟 Gitee 上面,一般都只配置一个,那么如何将代码同时提交到 Github 和 Gitee 上呢?
多个远程仓库的使用
目前 git 是支持多仓库的,温习一下,例如你已经把代码放在 Github 上托管了。
配置sshkey
生成SSH Key,并添加到Gitee
1 | ssh-keygen -t rsa -C "xxxxx@xxxxx.com" |
如果弹出下面提示,直接回车即可。(若已存在,会提示是否替换,输入Y再回车),会在你的磁盘目录【C:\Users\你的用户名.ssh\】中生成公钥,将文件【id_rsa.pub】中的内存拷贝,一般是id_xxx.pub。

配置gitee sshkey

大公告成!
查看远程仓库
查看本地的远程仓库情况
1 | git remote |
如果没有修改过默认配置,不出意外的话,会输出:
1 | origin |
origin指向远程仓库的名称,是你在 clone 项目时 git 为你默认创建的。
我们可以通过命令查看 origin 指向的远程仓库地址
1 | git remote -v |
输出结果:
1 | origin https://github.com:linzefan0612/blog.git (fetch) |
这个命令会读写远程仓库的名称和地址,这里指向的是github
远程仓库重命名
为了更好区分github 跟 gitee仓库地址的区分,我们可以修改github名称。通过命令: git remote rename <old_remote> <new_remote>
1 | git remote rename origin github |
输入查看远程仓库命令git remote -v,验证是否成功,输出结果:
1 | github git@github.com:linzefan0612/blog.git (fetch) |
修改成功,可以清晰地看到指向的地方
添加gitee仓库
下面我们再添加Gitee上的远程仓库,首先在Gitee上创建一个空的仓库,名称与Github上相同。
然后在【克隆/下载】处复制地址。
添加远程仓库命令: git remote add <remote> <url>
1 | git remote add gitee git@gitee.com:linzefan0612/blog.git |
再来验证下是否成功git remote -v,输出结果:
1 | gitee git@gitee.com:linzefan0612/blog.git (fetch) |
大功告成!
多个远程仓库的推送/拉取
因为我们配置了多仓库,推送和拉取再也不能像以前那样git push和git pull了,需要指定对应的远程仓库名称。命令如下:git push <remote> <branch>、git pull <remote> <branch>
1 | git push github master |
如果不想每次操作都带分支,我们可以把本地分支与远程分支进行关联git branch --set-upstream-to=<remote>/<remote_branch> <local_branch>
1 | git branch --set-upstream-to=gitee/master master |
关联后就可以不用指定分支进行操作了
1 | git push github |
常见错误及解决方案
凡是都不是一帆风顺的,如果遇到一些错误,可以参考下面的问题单
提示未指定分支
- You asked to pull from the remote ‘gitee’, but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
表示本地分支与远程分支未做关联,执行下面命令,进行关联即可:git branch --set-upstream-to=<remote>/<remote_branch> <your_branch>
1 | git branch --set-upstream-to=gitee/master master |
提交历史不同
- fatal: refusing to merge unrelated histories
原因是两个分支是两个不同的版本,具有不同的提交历史导致,执行以下命令即可:git pull gitee origin master --allow-unrelated-histories
gitee ssh key 失效
按照百度教程,生成的ssh key 还是连接失败,原因是,最新版本git使用了OpenSSH 8.8,gitee暂不支持,解决方案有以下
配置OpenSSH服务允许使用RSA-SHA1key
1
2
3
4在 ~/.ssh/config 加上如下配置
Host gitee.com
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa换用其他算法生成ssh key,之后到Gitee重新添加公钥即可
1
ssh-keygen -t ed25519 -C "your@example.email"
暂时不要使用OpenSSH 8.8及以上版本
- 本文标题:如何进行多平台托管
- 本文作者:Lin.
- 创建时间:2021-11-08 23:56:32
- 本文链接:http://www.linzefan.top/hexo-blogs2021/11/08/如何进行多平台托管/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!