[转] git clone 远程分支

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,作用参见上一步解释 (如果没用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
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-06-14 17:31  wmxl  阅读(1073)  评论(0编辑  收藏  举报