我正在尝试更新本地分支列表。我只能看到3个,而远程有11个。我尝试了这个解决方案,使用修剪命令,但是即使我的配置文件已经更新,当我输入git branch -a时,结果与之前相同(远程分支以红色字体显示,并且第一个是'remotes/origin/HEAD->origin/master')。
git checkout branch_name
...然后Git应该在本地创建分支。git remote update
会从所有远程仓库获取代码,而你可能只需要执行git fetch origin
从名为origin的一个远程仓库中获取代码。在你的情况下这可能没有太大变化,但请确保你理解这两者之间的区别。
针对评论的进一步说明:
git fetch
从一个远程仓库下载对象和引用,只能是一个远程仓库。所以,git fetch origin
将从名为origin的仓库下载所有这些东西。git remote update
,它将从全部仓库下载对象和引用(假设你配置了不止一个远程仓库,但你可能没有),实际上等同于执行git fetch --all
。git fetch origin
,它将更新你的本地状态以反映远程代码库中存在的内容。但这并不意味着它会物理上为你创建分支。这只是表示它们存在并可以被检出。要在本地计算机上实际创建选定的分支,请运行git checkout branch_name
。git fetch origin '+refs/heads/*:refs/heads/*'
要使此设置永久,请执行以下操作:
git config remote.origin.fetch '+refs/heads/*:refs/heads/*'
只有在实际检出时才会创建分支的本地副本。因此,如果您有 remotes/origin/branchX
,则想要有本地的 branchX
,您需要执行 git checkout branchX
。