git clone克隆远程仓库默认是只克隆master分支,当想把远程仓库上的所有的分支都克隆下来的话,有以下几种方法。

使用远程仓库github上的LSMLIB仓库为例.该仓库在github上一共有三个分支:master(default),dev-samrai,dev.

在使用git的过程中都使用ssh协议进行传输,可以进行免密登录。

方法一

  1. 使用 git clone克隆仓库,默认克隆下来的远程仓库的整个仓库,但是只会在本地创建一个master分支。

    git clone git@github.com:ktchu/LSMLIB.git
  2. 查看克隆下来代码的分支情况,同时可以查看远程仓库的分支情况。

    git branch -a    # 查看所有的分支(包括本地分支和远程分支)
    * master
    remotes/origin/HEAD -> origin/master
    remotes/origin/dev
    remotes/origin/dev-samrai
    remotes/origin/master

    可以看出远程仓库一共有三个分支(remotes/origin/devremotes/origin/dev-samrairemotes/origin/master),并且远程仓库的HEAD指针目前指向的是remotes/origin/master分支。

  3. 新建两个本地分支与远程分支相同。

    git checkout -b dev origin/dev #本地新建一个分支(dev),并且切换到该分支 与远程分支(origin/dev)对应
    git checkout -b dev-samrai origin/dev-samrai # 同理

当新建完对应的分支,并且切换回来后,发现本地的对应工作区的内容已经同步成对应分支的内容了。

说明git clone克隆了所有的数据,只是需要将对应的分支形成接口,切换成对应的分支数据了。

方法二

使用如下命令,其实与上面的操作是类似的,在本地仓库下,新建分支与远程仓库的分支一一对应,然后进行同步所有分支即可。

git clone git@github.com:ktchu/LSMLIB.git
cd LSMLIB
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all

参考链接

  1. git从远程仓库中获取所有分支

  2. git从远程仓库获取所有分支

  3. How to clone all remote branches in Git

git同步远程仓库的所有分支的更多相关文章

  1. Git 同步远程仓库

    在你经常使用的命令当中有一个git branch –a 用来查看所有的分支,包括本地和远程的.但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支. 同步远程分 ...

  2. git clone远程仓库的指定分支

    正常clone方式 git clone <远程仓库地址> 默认clone的是远程仓库的master分支 clone指定分支 git clone -b <分支名> <远程仓 ...

  3. git同步远程已删除的分支和删除本地多余的分支

    使用 git branch -a 可以查看本地分支和远程分支情况 但远程分支(红色部分)删除后,发现本地并没有同步过来. 一. 同步本地的远程分支 查看本地分支和追踪情况: git remote sh ...

  4. git 同步远程已删除的分支和删除本地多余的分支

    使用git branch -a可以查看本地分支和远程分支情况 但远程分支(红色部分)删除后,发现本地并没有同步过来. 一. 同步本地的远程分支 查看本地分支和追踪情况: git remote show ...

  5. git 从远程仓库获取所有分支

    git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}& ...

  6. git 本地仓库和远程仓库及本地分支和远程分支

    从远程git仓库签出代码:   $ git clone git://aaa.com/git_project.git (远程git服务器项目所在地址) 当你需要克隆远程项目到本地时,默认会把项目保存在名 ...

  7. git的详细使用,项目创建到同步远程仓库,版本回退,忽略文件,分支创建,分支合并,分支名称修改,冲突解决,项目迁移

    注意:此处省略git的安装 1..git的工作流程示意图: 2.本地仓库的初始化: 2.1 创建一个文件夹,如我创建的是:D:\gitdemo\shop 2.2 进入shop目录,鼠标右键,打开git ...

  8. Git从远程仓库里拉取一条本地不存在的分支方法

    Git从远程仓库里拉取一条本地不存在的分支方法 从远程仓库里拉取一条本地不存在的分支时,进入到对应目录先执行git fetch然后再执行git checkout -b 本地分支名 origin/远程分 ...

  9. Git同步原始仓库到Fork仓库中

    前言 本文介绍的是Git同步原始仓库到Fork仓库示例教程,废话不多说,下面直接到实操部分. 这里以aspnetcore-doc-cn的github仓库为例,同步dev分支. 步骤 1.初始化本地仓库 ...

  10. [转]git修改远程仓库地址

    原文链接:http://www.cnblogs.com/lazb/articles/5597878.html 问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库 ...

随机推荐

  1. 小程序的json文件

    json文件是页面的描述文件,对本页面的窗口外观设置,页面的配置可以覆盖全局的配置 (app.json);

  2. 16收16发ARINC429模块

    6通道发送, 16通道接收* 发送通道:每路发送通道FIFO大小为:511 x 32bit(CHR32216/32316) ,缓存256条发送消息(CHR32216-EX/32316-EX)发送FIF ...

  3. 基于 Python + Vue3!一个轻量级的域名和 SSL 证书监测平台!

    大家好,我是 Java陈序员. 在企业开发中,由于业务众多,涉及到很多业务域名证书,证书过期由于遗忘常常未能及时续期,导致线上访问异常,给企业带来损失! 今天,给大家介绍一个轻量级的域名和 SSL 证 ...

  4. Java序列化之ProtoStuff

    知识点: ProtoStuff 是将结构数据转为字节流进行序列化的,优点是占用空间小,速度快,缺点是可读性差. ProtoStuff 是基于 ProtoBuf 发展而来的. 本文不讲那么多背景,直接上 ...

  5. mongodb副本集群使用总结

    一.该文档仅为了总结经验,方便下次部署时跳过踩过的坑.其中MongoDB的复制原理.特点等参照的菜鸟教程,附地址:https://www.runoob.com/mongodb/mongodb-repl ...

  6. manim边学边做--极坐标平面

    PolarPlane,顾名思义,是用于创建极坐标平面的类. 与笛卡尔坐标系不同,极坐标系是基于角度和半径来定位点的,这里的每个点由一个角度和距离原点的距离表示. 在Manim中,PolarPlane通 ...

  7. 初识GO语言--并发

  8. Hadoop习题汇总

    目录 选择 单选 多选 判断 填空 简答 选择 单选 查看HDFS系统版本的Shell命令,以下正确的是(). hdfs -ver hdfs version (答案) dfsadmin version ...

  9. WinDbg调试命令之线程操作

    WinDbg的线程操作命令可以帮助开发人员诊断和解决多线程应用程序中的问题,常用的命令有以下这些. ~*e - 列出当前进程中的所有线程 这个命令会列出当前进程中的所有线程,包括它们的线程ID.状态. ...

  10. 2024ICPC 武汉邀请赛题解 更新至 8 题

    目录 Preface Problem I. 循环苹果串 Problem K. 派对游戏 Problem B. 无数的我 Problem F. 订制服装 Problem E. 回旋镖 Problem D ...