git - 在 git 中更新本地分支列表

标签 git

我正在尝试更新我的分支机构的本地列表。我只能看到 3 个,而远程是 11 个。我试过 this solution使用 prune 命令,尽管我的配置文件在我按下 git branch -a 时得到了更新,但我得到的结果与以前相同(远程分支带有红色字母,并且排在第一位 'remotes/origin/HEAD->origin/master'。

最佳答案

如果您在输入命令后没有看到分支,则可能意味着它们在本地不存在您的计算机现在知道它们存在,但还没有在物理上和本地创建它们。切换到“丢失”的远程分支之一:

git checkout 分支名称

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

此外,请记住 git remote update 从 ALL REMOTES 获取,而你可能想做的(什么是可能就足够了)是 git fetch origin,它只从一个叫做 origin 的远程获取。它可能在您的情况下没有太大变化,但请确保您了解其中的区别。

针对评论的进一步澄清

git fetch 从远程存储库下载对象和引用 - 仅一个存储库。所以 git fetch origin 将从名为 origin 的存储库下载所有这些东西。

如果您使用 git remote update,它将从所有存储库下载对象和引用(以防您配置的只是 origin - 您可能 不要)。它与执行 git fetch --all 基本相同。

总而言之,您通常想要使用git fetch origin - 这将更新您的本地状态,了解远程存在的内容。更新并不意味着它会在物理上为您创建分支。这只是它们存在并且可以被 check out 的信息。它是 git checkout branch_name,然后它会在您的本地计算机上物理地创建一个选定的分支。

关于git - 在 git 中更新本地分支列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46140178/

相关文章:

gitk 给出 "argument list too long"错误

当同时进行 20 次尝试时,git pull 在 75% 的情况下会失败

git - 如何仅 git-add 非空白更改和新文件?

javascript - 如何创建可重用的 Durandal 小部件

macos - 如何取消我的计算机与 github 帐户的链接?

git - 将 git 与 BitBucket 结合使用

asp.net-mvc - 如何通过 Git 将 Azure WebJob 与 .NET Core Web 应用程序一起部署?

git - github怎么让多人push?

git - git 子模块的不同推/pull url

git - 添加一个无法从索引中删除的子模块