zoukankan      html  css  js  c++  java
  • 关联多个Git仓库

    关联多个Git仓库

    通常情况下,一个本地Git仓库对应一个远程仓库,每次pullpush仅涉及本地仓库和该远程仓库的同步;然而,在一些情况下,一个本地仓库需要同时关联多个远程仓库,比如:同时将一个项目发布在Github和Gitee上,以兼顾国内外的访客。

    一键推送

    首先查看已有的远程仓库:(假定最初仅关联了一个远程仓库)

    git remote -v
    origin  git@github.com:keithnull/keithnull.github.io.git (fetch)
    origin  git@github.com:keithnull/keithnull.github.io.git (push)
    

    然后,不额外添加远程仓库,而是给现有的远程仓库添加额外的URL。使用git remote set-url -add <name> <url>,给已有的名为name的远程仓库添加一个远程地址,比如:

     git remote set-url --add origin git@git.coding.net:KeithNull/keithnull.github.io.git
    

    再次查看所关联的远程仓库:

    git remote -v
    origin  git@github.com:keithnull/keithnull.github.io.git (fetch)
    origin  git@github.com:keithnull/keithnull.github.io.git (push)
    origin  git@git.coding.net:KeithNull/keithnull.github.io.git (push)
    

    可以看到,我们并没有如方法1一般增加远程仓库的数目,而是给一个远程仓库赋予了多个地址(或者准确地说,多个用于push的地址)。

    因此,这样设置后的pushpull操作与最初的操作完全一致,不需要进行调整。

    分别推送

    首先,查看本地仓库所关联的远程仓库:(假定最初仅关联了一个远程仓库)

    $ git remote -v
    origin  git@github.com:keithnull/keithnull.github.io.git (fetch)
    origin  git@github.com:keithnull/keithnull.github.io.git (push)
    

    然后,用git remote add <name> <url>添加一个远程仓库,其中name可以任意指定(对应上面的origin部分),比如:

    $ git remote add coding.net git@git.coding.net:KeithNull/keithnull.github.io.git
    

    再次查看本地仓库所关联的远程仓库,可以发现成功关联了两个远程仓库:

    $ git remote -v
    coding.net      git@git.coding.net:KeithNull/keithnull.github.io.git (fetch)
    coding.net      git@git.coding.net:KeithNull/keithnull.github.io.git (push)
    origin  git@github.com:keithnull/keithnull.github.io.git (fetch)
    origin  git@github.com:keithnull/keithnull.github.io.git (push)
    

    此后,若需进行push操作,则需要指定目标仓库,git push <repo> <branch>,对这两个远程仓库分别操作:

    $ git push origin master
    $ git push coding.net master
    

    同理,pull操作也需要指定从哪个远程仓库拉取,git pull <repo> <branch>,从这两个仓库中选择其一:

    $ git pull origin master
    $ git pull coding.net master
    
  • 相关阅读:
    初识面向对象
    Git 子模块
    至今为止项目中遇到的问题
    vuex , 简单入(liao)门(jie)
    Git rebase
    Git
    js设计模式工厂模式
    vue slot
    Jquery学习,一道笔试题:关于表格【最近记】
    闭包与this学习
  • 原文地址:https://www.cnblogs.com/cuianbing/p/15136088.html
Copyright © 2011-2022 走看看