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