Git操作多个远程仓库

前言

有时候感觉GitHub太慢,尤其是最近感觉更为明显,于是萌生了再找个国内类似GitHub的代码托管平台的想法,同时我也还想持续更新GitHub上的仓库,于是需要一个本地仓库(我自己的开发机)多个远程仓库(Github、码云、coding)。

一个远程仓库的git config

当前git配置文件,在项目的.git/config中:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://github.com/Bwar/Nebula.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

添加多个远程仓库

添加名称为gitee的远程仓库:

git remote add gitee https://gitee.com/Bwar/Nebula.git

执行完这个命令,我们的配置文件就会变成:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://github.com/Bwar/Nebula.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[remote "mirror"]
    url = https://gitee.com/Bwar/Nebula.git
    fetch = +refs/heads/*:refs/remotes/mirror/*

此时我们的仓库已经关联了两个远程仓库了,操作仓库时需分别制定名称:

git pull origin master 
git pull gitee master
git push origin master 
git push gitee master

一条命令同时操作多个远程仓库

不用上面的mirror做法,直接在origin中添加一个url来实现一个本地仓库多个远程仓库。
命令:

git remote set-url --add origin https://gitee.com/Bwar/Nebula.git

也可以直接编辑配置文件,结果如下:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://github.com/Bwar/Nebula.git
        url = https://gitee.com/Bwar/Nebula.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[remote "mirror"]
    url = https://gitee.com/Bwar/Nebula.git
    fetch = +refs/heads/*:refs/remotes/mirror/*

之前添加的“mirror”留着或删掉都没关系,这时候我们一条命令即可更新两个远程仓库:git push origin master

你可能感兴趣的:(Git操作多个远程仓库)