Git提交到多个远程仓库

作者: 孤逐王 | 来源:发表于2016-03-06 12:15 被阅读1764次

在已经习惯使用git同步写代码,github无疑是最的托管平台,但是国内由于“你懂的”原因,速度很慢,有时无法访问,于是想把自己的代码同步到多个不同的远程仓库备份。

我的主要仓库:

[github] https://github.com/wonux.test.git 主仓库
[oschina] https://git.oschina.net/wonux/test.git 国内常用仓库

另外,国内还有coding(原来的gitcafe合并到了coding),csdn code等。

添加同名多远程仓库

添加一个remote,这里是all,也可以是别的名字(如origin)

git remote add all https://github.com/wonux.test.git

再添加另一个:

git remote set-url --add all https://git.oschina.net/wonux/test.git

重复向同一个远程仓库名字添加需要set-url --add参数

如果有多个,按照上面这一个命令进行添加.

向多远程仓库推送代码

git push all --all

这样就会一次提交到多个库了,上面命令输出如下:

git push all --all
Username for 'https://github.com': wonux
Password for 'https://wonux@github.com': 
Counting objects: 68, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (56/56), done.
Writing objects: 100% (68/68), 72.16 KiB | 0 bytes/s, done.
Total 68 (delta 13), reused 0 (delta 0)
To https://github.com/wonux/test.git
 * [new branch]      master -> master
Username for 'https://git.oschina.net': wonux
Password for 'https://wonux@git.oschina.net': 
Counting objects: 68, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (56/56), done.
Writing objects: 100% (68/68), 72.16 KiB | 0 bytes/s, done.
Total 68 (delta 13), reused 0 (delta 0)
To https://git.oschina.net/wonux/test.git
 * [new branch]      master -> master

记住不要忘记--all参数,如果不加--all,则无法推送,提示:

git push all
warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

Since Git 2.0, Git defaults to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

fatal: unable to access 'https://github.com/wonux/test.git/': Couldn't resolve host 'github.com'

分析配置文件

在操作完上面的添加命令后,如果我们打开.git/config文件,我们可以看到这样的配置:

[remote "all"]
    url = https://github.com/wonux/test.git
    fetch = +refs/heads/*:refs/remotes/all/*
    url = https://git.oschina.net/wonux/test.git

因此,直接在.git/config文件中添加:

[remote "all"]
    url = https://github.com/wonux/test.git
    fetch = +refs/heads/*:refs/remotes/all/*
    url = ……

有多少个远程库,就配置多少个url即可.
从这里可以看出,第一种方法生成的配置中还有一个fetch配置,这个配置可以完全去掉.

相关文章

  • Git常用命令笔记

    git命令使用 1 创建远程仓库(初始化--提交到本地仓库--提交到远程仓库) $ git init ...

  • Git提交到多个远程仓库

    随着github的普及和流行,现在程序员可能都习惯把代码托管到类似github的远程仓库中。毫无疑问,github...

  • Git提交到多个远程仓库

    在已经习惯使用git同步写代码,github无疑是最的托管平台,但是国内由于“你懂的”原因,速度很慢,有时无法访问...

  • git从入门到精通

    查看git命令 初始化git仓库 克隆远程仓库(github) 添加新增的文件 提交到本地库 提交到远程maste...

  • Git命令

    git push 作用:将本地仓库中代码提交到远程仓库 语法 :git push 仓库地址 master git ...

  • git常用命令

    从远程仓库克隆,并在本地修改后,提交到远程仓库 git clone 远程仓库地址 将远程仓库克隆到本...

  • git冲突

    1、git配置远程地址 2、git删除远程地址 3、加入本地仓库 4、提交到本地仓库 5、拉取远程仓库数据 6、在...

  • 【转载】git使用教程-涂根华

    文章来源部分图片来源 五.远程仓库 (一).提交到网上的远程仓库 一.前提: github仓库 ,本地git仓库 ...

  • Git 常用命令大全

    Git 常用命令大全 远程仓库相关命令 如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master...

  • Git 上传文件命令

    git添加到本地仓库 git提交到本地仓库 git推送到远程仓库 git合并分支 当前配置链接命令 把当前地址设置...

网友评论

    本文标题: Git提交到多个远程仓库

    本文链接:https://www.haomeiwen.com/subject/narakttx.html