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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!