2017-10-08 35 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'。 –

相关问题