git clone 遠程分支

有時git clone下來會出現很多branch,更麻煩的是如果主分支沒代碼那你就只能看到.git目錄了。如下面的這個:

$ git clonegit://gitorious.org/android-eeepc/mesa.git

  發現本地就只有一個.git目錄,那麼這個時候就需要checkout了。

  進入你的本地目錄,如這個是mesa,利用

$ git branch –r

  查看branch信息(當然你也可以用git show-branch查看,不過有時並不好用),獲得如下branch信息:

origin/android
origin/mesa-es
origin/mesa-es-dri

  此時我們需要的是android分支的代碼,那麼此時就要進行checkout了。

$ git checkout origin/android

  你再看你的目錄(mesa)下是不是有了代碼了?其它的branch同理。

 

 

git clone默認會把遠程倉庫整個給clone下來; T2 {0 t, l+ @0 U" C2 g) i
但只會在本地默認創建一個master分支
如果遠程還有其他的分支,此時用git branch -a查看所有分支:

  1. * master   
  2. remotes/origin/HEAD -> origin/master   " A4 u3 ~+ n5 u5 \7 R" Z( d# J
  3. remotes/origin/master   
  4. remotes/origin/python_mail.skin   
  5. remotes/origin/udisk   
  6. remotes/origin/vip
複製代碼

能看到遠程的所有的分支,如remotes/origin/python_mail.skin  e  Y' X9 ~, f1 |
可以使用checkout命令來把遠程分支取到本地,並自動建立tracking

  1. $ git checkout -b python_mail.skin origin/python_mail.skin) X& X: I3 Q; ?9 j9 T5 @; J/ M
  2. Branch python_mail.skin set up to track remote branch python_mail.skin from origin.; i/ B! ^3 J# u6 a( }. I$ M- i
  3. Switched to a new branch 'python_mail.skin'
複製代碼

或者使用-t參數,它默認會在本地建立一個和遠程分支名字一樣的分支
摺疊展開復制代碼

  1. $ git checkout -t origin/python_mail.skin
複製代碼

也可以使用fetch來做:

  1. $ git fetch origin python_mail.skin:python_mail.skin
複製代碼

不過通過fetch命令來建立的本地分支不是一個track branch,而且成功後不會自動切換到該分支上- z) t: R4 p- s6 _2 d3 a
注意:不要在本地採用如下方法:

  1. $ git branch python_mail.skin
  2. $ git checkout python_mail.skin/ i8 z/ N: a% v/ Q: M
  3. $ git pull origin python_mail.skin:python_mail.skin
複製代碼

因爲,這樣建立的branch是以master爲基礎建立的,再pull下來的話,會和master的內容進行合併,有可能會發生衝突...



http://blog.csdn.net/xqs83/article/details/7382074



發佈了74 篇原創文章 · 獲贊 17 · 訪問量 64萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章