[转] git clone 远程分支
git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:
- 找一个干净目录,假设是git_work
- cd git_work
- git clone http://myrepo.xxx.com/project/.git ,这样在git_work目录下得到一个project子目录
- cd project
- git branch -a,列出所有分支名称如下:
remotes/origin/dev
remotes/origin/release - git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
- git checkout -b release origin/release,作用参见上一步解释 (如果没用release等多余的分支,这一步省略)
- 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
版权声明:本文为博主原创文章,转载请附上博文链接!