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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM