我最近将一个存储库从远程克隆到一台新机器上。遥控器有 2 个分支master
和dev
。克隆后,本地只有远程的master
分支,找不到dev
。
在远程上,dev
已与 master
合并,master
就像在 dev
之前提交 2 次。
在本地,如果我创建一个同名的新分支 dev
,dev
现在指向master
的提示(相同的提交),而远程dev
就像 master
后面的 2 个提交。
如何在本地获取所有remote
分支,并正确指向它们各自的commits
,就像在远程上一样。
而且,出于好奇,只是查看了.git
目录,并在目录下的config
中找到了这一行.git
。
有人可以解释以下行在.git/config
中fetch = +refs/heads/*:refs/remotes/origin/*
是什么意思吗?特别是结肠:
分隔符的作用。
谢谢DK
我认为您在这里需要做的就是 git 获取:
git fetch origin
这会以远程跟踪分支的形式将所有远程分支引入本地存储库。 这应包括远程master
和dev
分支。 请注意,您的初始克隆应该已经引入了这些分支。 但是做一个git fetch
会用最新的信息更新dev
,这是一件合理的事情。
如果要创建跟踪远程分支的本地dev
分支,可以执行以下操作:
git checkout dev
这将创建一个新的本地分支dev
用于跟踪远程分支。