为 git 同时添加两个远程仓库

2020-06-28  本文已影响0人  已不再更新

转自:http://giaogiaocat.github.io/tool/git-origin/

一直使用GitHub托管代码,但最近觉得下载速度太慢了。所以打算把仓库同步到 https://codeup.aliyun.com/ 上,下载的时候可以提高速度。

之前的操作

设定不同的remote,分别推送,感觉很麻烦

git remote add origin https://github.com/USERNAME/REPO1.git
git remote add gitee https://gitee.com/USERNAME/REPO2.git

git push origin master
git push gitee master

多地址的 remote repo

一般来说最佳方法是给 origin 设两个地址:

git remote set-url origin --add https://github.com/USERNAME/REPO1.git
git remote set-url origin --add https://github.com/USERNAME/REPO2.git

在 .git/config 里得到

...
[remote "origin"]
    url = https://USERNAME@github.com/USERNAME/REPO1.git
    url = https://USERNAME@github.com/USERNAME/REPO2.git
...
[branch "master"]
    remote = origin
...

然后 git push origin master 就会同时推送到两个 repo,而 git pull origin master 会从两个 repo 里取得更新。

当然 URL 和 repo 不一定非要是 GitHub 上的,具有两个 url 的 remote 也不一定要是 origin,比如可以设置成 all。

只用于 push 的备份 repo

你想从 repo1 pull,但是 push 的时候要推送到 repo1 和 repo2。

git remote set-url origin --add https://github.com/USERNAME/REPO1.git
git remote set-url origin --push --add https://example.com/USERNAME/REPO2.git

在 .git/config 里得到

...
[remote "origin"]
    url = https://USERNAME@github.com/USERNAME/REPO1.git
    pushurl = https://USERNAME@example.com/USERNAME/REPO2.git
...
[branch "master"]
    remote = origin
...

然后 git push origin master 就会同时提交到两个 repo,而 git pull origin master 只会从repo1 里取得更新。

码云 https://gitee.com/

如果码云导入的是github项目,会10分钟左右同步一次,你也可以点击同步按钮手动同步。


参考:

https://www.cnblogs.com/huipengly/articles/8306855.html

https://blog.gitee.com/2018/06/05/github_to_gitee/

http://code.aliyun.com/

https://codeup.aliyun.com/

上一篇下一篇

猜你喜欢

热点阅读