git git clone遠端分支

2021-06-22 03:13:37 字數 2707 閱讀 4157

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就會產生疑問,因...