git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:

  1. 找一个干净目录,假设是git_work
  2. cd git_work
  3. git clone http://myrepo.xxx.com/project/.git ,这样在git_work目录下得到一个project子目录
  4. cd project
  5. git branch -a,列出所有分支名称如下:
    remotes/origin/dev
    remotes/origin/release
  6. git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
  7. git checkout -b release origin/release,作用参见上一步解释
  8. git checkout dev,切换回dev分支,并开始开发。

克隆分支的另一个方法:

git clone -b (分支项目名) http://myrepo.xxx.com/project/.git

git clone默认会把远程仓库整个给clone下来 
但只会在本地默认创建一个master分支 
如果远程还有其他的分支,此时用git branch -a查看所有分支:

  • master

remotes/origin/HEAD -> origin/master

remotes/origin/master

remotes/origin/python_mail.skin

remotes/origin/udisk

remotes/origin/vip 
能看到远程的所有的分支,如remotes/origin/python_mail.skin可以使用checkout命令来把远程分支取到本地,并自动建立tracking 

$ git checkout -b python_mail.skin origin/python_mail.skin

Branch python_mail.skin set up to track remote branch python_mail.skin from origin.

Switched to a new branch 'python_mail.skin' 

或者使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支

$ git checkout -t origin/python_mail.skin

也可以使用fetch来做:

$ git fetch origin python_mail.skin:python_mail.skin

不过通过fetch命令来建立的本地分支不是一个track branch,而且成功后不会自动切换到该分支上

作者:liuyinfei_java
来源:CSDN
原文:https://blog.csdn.net/liuyinfei_java/article/details/80470898
版权声明:本文为博主原创文章,转载请附上博文链接!

[转] git clone 远程分支的更多相关文章

  1. git clone 远程分支

    先初始化一个git 仓库  命令:git init git clone 相应的地址 这样就会形成一个.git 隐藏文件夹 一定要注意的,要进入到子文件夹去git checkout feature/0. ...

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

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

  3. git clone 某个分支或者所有分支

    clone 某个分支: git clone -b  dev5   https://git.coding.net/aiyongbao/tradepc.git clone 所有分支:   git   cl ...

  4. git clone 指定分支

    使用Git下载指定分支命令为:git clone -b 分支名仓库地址 克隆asp.net core 2.1.6版本 git clone -b 2.1.6 https://github.com/asp ...

  5. Git切换远程分支

         1. 切换git远程分支,使用命令:git checkout -b 分支名称.    注意:切换远程分支一定要带伤-b 参数,只有切换本地分支的时候才不需要 -b参数,-b 的意思是 bas ...

  6. 删除本地git的远程分支和远程删除git服务器的分支【转】

    转- 删除本地git的远程分支和远程删除git服务器的分支 在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了 ...

  7. 180623、Git新建远程分支和删除

    Git新建远程分支和删除 现在我在master分支上,工作目标是干净的,也没有需要commit的: $ git branch * master release $ git status On bran ...

  8. git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法

    git使用,多分支合并代码解决冲突,git删除远程分支,删除远程master默认分支方法提交代码流程:1.先提交代码到自己分支上2.切换到devlop拉取代码合并到当前分支3.合并后有变动的推送到自己 ...

  9. git clone 指定分支 拉代码

    1.git clone 不指定分支 git clone http://10.1.1.11/service/tmall-service.git 2.git clone 指定分支 git clone -b ...

随机推荐

  1. 设计模式(十六)迭代器模式 Iterator

    什么时候需要用到迭代器模式? 有许多中方法,可以把对象堆起来放进一个集合(可以是数组.堆栈.列表.哈希表,等等). 每一种类型的集合,都有各自适用的时机.但是某个时间段,客户端可能希望去遍历这个集合. ...

  2. 【bzoj1163/bzoj1339】[Baltic2008]Mafia 网络流最小割

    题目描述 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控. 对于每个车站进行布控都需要一定的代价,现在警方希望使用最小的代价控制一些车站,使得去掉这些车站后,匪徒无法从原定的初始点到达目标点 ...

  3. ACM程序设计选修课——1024: 末位零(求末尾0的方法+可有可无的快速幂)

    1024: 末位零 Time Limit: 1 Sec  Memory Limit: 32 MB Submit: 60  Solved: 11 [Submit][Status][Web Board] ...

  4. 以Java 8 为基准

    1.以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持. 2.内嵌容器包结构调整 为了支持reactive使用场景,内嵌的容器包结构 ...

  5. 正则表达式的\b与\B总结

    \b 单词边界,是指单词与符号之间的边界,是一个位置,不是空格或字符.(这里单词可以是中文字符,英文字符,数字:  符号可以是中文符号,英文符号,空格,制表符,换行).不能与量词?+*{1}{2,5} ...

  6. Entity Framework表名默认自动变为复数形式等常见问题解决方法

    今天使用了一下手写EntityFramework,发现一些常见的问题,做个记录: 1.以前使用模板生成不太在意的问题,就是在定义实体类时,如果没映射注释,自动映射的表名会变成复数形式 如:表名==&g ...

  7. vue2 父子组件间通信

    父组件往子组件传值 props 传text father.vue <template> <div class="father"> {{'我是父组件'}} & ...

  8. vue.js源码学习分享(一)

    今天看了vue.js源码  发现非常不错,想一边看一遍写博客和大家分享 /** * Convert a value to a string that is actually rendered. *转换 ...

  9. NERDTree

    What's NERDTree    :    A tree explorer plugin for vim. Install : Using Vundle on .vimrc " for ...

  10. 快充 IC BQ25896 的 input current monitor

    BQ25896 沒有顯示 input current 的 register, 但可以讀 ILIM pin 的 電壓 做計算求出 input current.