前几天有次从github把项目 pull到本地时速度特别慢,想着应该是github服务器在国外的原因,于是就想把自己的项目在推送到github上时同步推送到国内的某个代码托管平台,经过一番比较之后我选择了码云。
那么如何方便快捷的把代码托管到多个平台呢?
例如我有下面两个仓库:
https://gitee.com/jiaiqi/test.git
https://github.com/jiaiqi/test.git
第一种方式
在本地项目文件夹执行 git init之后
先添加第一个仓库
git remote add origin https://gitee.com/jiaiqi/test.git
再添加第二个仓库:
git remote set-url --add origin https://github.com/jiaiqi/test.git
如果还有其他,则可以像添加第二个一样继续添加其他仓库。
然后使用下面命令提交:
git push origin --all
打开.git/config,可以看到这样的配置:
[remote "origin"]
url = https://gitee.com/jiaiqi/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
url = https://github.com/jiaiqi/test.git
刚才的命令其实就是添加了这些配置。如果不想用命令行,可以直接编辑该文件,添加对应的url即可。
第二种方式
在本地项目文件夹执行 git init之后
先添加第一个仓库
git remote add gitee https://gitee.com/jiaiqi/test.git
再添加第二个仓库:
git remote add github https://github.com/jiaiqi/test.git
在这里为了方便区分,我把github仓库地址代号(上面代码add后面的单词)命名为github,码云仓库地址代号命名为gitee
在git bash中输入git remote -v可以查看本地仓库现在连接了那个远程仓库。
使用git push 仓库代号 分支提交代码到远程仓库
刚才我链接的两个远程仓库,推得时候就要这样写了:
git push github master
git push gitee master
打开.git/config,此时配置文件如下所示
[remote "github"]
url = git@github.com:jiaiqi/test.git
fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
url = git@gitee.com:jiaiqi/test.git
fetch = +refs/heads/*:refs/remotes/gitee/*
[branch "master"]
remote = gitee
remote = github
merge = refs/heads/master
和第一种方法一样,如果不想用命令行,可以直接编辑该文件,添加对应的remote及url即可。
当然也可以在idea中直接修改: