git clone 到本地是遠端的master分支。
如果有其他分支,不會clone到本地,但可以通過 git branch -a 檢視這些分支。
如果想clone分支,要用git checkout
git checkout-b box_jb origin/box_jb
然後就會發現自己已經在box_jb分支上了,
此時檢視分支如下:
zhangbin@-server:~/linux_kernel$ git branch -a
master
* box_jb
remotes/origin/head -> origin/master
remotes/origin/master
remotes/origin/box_jb
**********== 參考
有時git clone下來會出現很多branch,更麻煩的是如果主分支沒**那你就只能看到.git目錄了。如下面的這個:
$ git clone
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 . i$ m- i
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,而且成功後不會自動切換到該分支上- z) t: r4 p- s6 _2 d3 a
注意:不要在本地採用如下方法:
$ git branch python_mail.skin
$ git checkout python_mail.skin/ i8 z/ n: a% v/ q: m
$ git pull origin python_mail.skin:python_mail.skin
複製**
因為,這樣建立的branch是以master為基礎建立的,再pull下來的話,會和master的內容進行合併,有可能會發生衝突...
***************
git clone遠端分支
-----------------
git clone缺省會把遠端倉庫整個給clone下來, 但只會在本地預設建立乙個master分支. (當然,也可以在一開始clone的時候, 通過-b引數指定要clone的分支.而非master)如果遠端還有其他的分支,此時用git branch -a檢視所有分支. 如下:
* master
remotes/origin/head -> origin/master
remotes/origin/magicvoid
remotes/origin/master
remotes/origin/sunxiaofan
假設我們現在想取magicvoid分支到本地,並自動建立tracking.有三種方式:
1. git checkout -b magicvoid origin/magicvoid //-b magicvoid表示在本地新建乙個叫magicvoid的分支, 與遠端的origin/magicvoid對應.
2. git checkout -t origin/magicvoid //-t引數, 缺省會在本地建立乙個和遠端分支一樣名字的分支
3. git fetch origin magicvoid:magicvoid //命令格式是: git fetch 《遠端名》 《遠端分支》:《本地分支》 ;
建議用前面2種,因為我們知道git庫的所有資訊都是會存在本地的。所以使用前兩種都是在本地就能進行。而使用git fetch命令則需要連線到遠端伺服器上。而且, 使用git fetch, 建立的本地分支不是乙個track branch, 成功後也不會自動切換到該分支上。
注意不要使用下面的方法來clone乙個遠端分支.
git branch magicvoid
git checkout magicvoid
git pull origin magicvoid:magicvoid
因為,這樣建立的branch是以master為基礎建立的,再pull下來的話,會和master的內容進行合併,有可能會發生衝突.
參考:
獲取遠端分支資訊 切換遠端分支 建立遠端分支
當從其它同事那獲取到,遠端建立了乙個新分支fatfs,但是當我們本地沒有更新的情況下,使用下面命令是看不到的。git branch a git branch a master remotes origin head origin master remotes origin master git fe...
git建立遠端分支並將本地分支與遠端分支關聯
1,檢視本地分支和遠端分支 git branch a master remotes origin head origin master remotes origin master2,建立並切換分支 git checkout b test 號代表當前分支 remotes代表遠端分支 master te...
本地分支關聯遠端分支
在push 時,出現問題的原因是沒有將本地的分支與遠端倉庫的分支進行關聯。具體原因 出現這種情況主要是由於遠端倉庫太多,且分支較多。在預設情況下,git push時一般會上傳到origin下的master分支上,然而當repository和branch過多,而又沒有設定關聯時,git就會產生疑問,因...