2017-10-08 36 views
0

我最近從遠程克隆了一個repo到一臺新機器上。遙控器有2個分支master & dev。克隆後,本地只有遠程的master分支,找不到devGit:如何在本地獲得所有`遠程`分支,指向它們各自的'提交',如同遠程?

在遠端,dev已與mastermaster合併,就像2個提交dev之前一樣。

局部如果我創建同名dev的新分支,dev現在指向的master相反尖端(相同提交)到遠程其中dev是像後面master 2次的提交。

如何在本地獲取所有remote分支,正確指向各自的commits與遠程分支。

此外,出於好奇,只是檢查出.git目錄,並在目錄下發現該行在.git目錄下。

有人可以解釋下列行是什麼意思fetch = +refs/heads/*:refs/remotes/origin/*.git/config?特別是冒號:分隔符的作用。

感謝 DK

+0

[如何獲取所有git分支](https://stackoverflow.com/questions/10312521/how-to-fetch-all-git-branches) – phd

回答

0

我認爲,所有你需要做的,是一個git獲取:

git fetch origin 

這將在所有的遠程分支到本地資源庫中的遠程跟蹤分支形式。這應該包括遠程masterdev分支。請注意,您的初始克隆應該已經引入了這些分支。但做一個git fetch將更新dev與最新的信息,這是一個合理的事情。

如果你想創建一個本地dev分支追蹤遠程之一,你可以這樣做:

git checkout dev 

這將創建一個新的本地分支dev跟蹤遠程之一。

+0

可能重複,即使沒有'git fetch origin'如果我運行'git checkout dev',git告訴'切換到新分支'dev'。分支dev設置爲跟蹤來自原點的遠程分支開發。「那麼'git fetch origin'的重點/優勢是什麼?謝謝 – dkjain

+1

@dkjain您所做的克隆一般可能會或可能不會捕獲所有遠程分支。做'git fetch'可以保證你在本地擁有'dev'。 –

相關問題