更新git中的本地分支列表

时间:2017-09-10 11:23:52

标签: git

我正在尝试更新我的分支机构的本地列表。我只能看到3而远程是11.我用prune命令尝试了this solution尽管我按下git branch -a时我的配置文件被更新了 - 我得到了与以前相同的结果(远程分支用红色字母和in第一名'遥控器/原产地/ HEAD->原产地/主人'。

2 个答案:

答案 0 :(得分:2)

如果您在输入命令后没有看到分支,则可能意味着他们不在本地存在您的计算机现在知道它们存在,但尚未在物理上和本地创建它们。切换到其中一个缺少"缺少":

的远程分支

git checkout branch_name

...并且git应该在本地创建分支。

另外,请记住git remote update从所有远程提取,而可能想要做的事情(可能足够多)是{{1}仅从一个名为origin的远程获取。 可能在您的案例中没有太大变化,但请确保您了解其中的差异。

对评论的进一步澄清

git fetch origin从远程存储库下载对象和引用 - 仅限一个存储库。因此git fetch将从名为 origin 的存储库中下载所有内容。

如果您使用git fetch origin,它将从所有存储库下载对象和引用(如果您配置了更多 origin - 您可能 don&# 39; T)。它与执行git remote update基本相同。

总结一下,通常想要使用git fetch --all - 这将更新您的本地状态,了解远程存在的内容。更新并不意味着它将为您物理创建分支。它只是存在的信息,可能会被检出。它是git fetch origin,然后在您的本地计算机上物理创建一个选定的分支。

答案 1 :(得分:1)

尝试明确指定您要获取所有远程分支:

git fetch origin '+refs/heads/*:refs/heads/*'

要将此设为永久设置,请执行以下操作:

git config remote.origin.fetch '+refs/heads/*:refs/heads/*'

分支的本地副本仅在您实际签出时创建。因此,如果您有remotes/origin/branchX然后拥有本地branchX,则需要git checkout branchX