当前位置: 首页 > 知识库问答 >
问题:

在git中更新本地分支列表

党佐
2023-03-14

我正在尝试更新我的分支的本地列表。我只能看到3个,而遥控器是11个。我用prune命令尝试了这个解决方案,尽管我的配置文件在我按下git branch-a时被更新了,但我得到了与以前相同的结果(带有红色字母的远程分支,首先是remotes/origin/HEAD)-

共有2个答案

连昊天
2023-03-14

尝试显式指定要获取所有远程分支:

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

要使其成为永久设置,请执行以下操作:

git配置remote.origin.fetchrefs/head/*: refs/head/*

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

解高昂
2023-03-14

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

git签出分支机构名称

... 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\u name,然后在本地计算机上物理地创建选定的分支。

 类似资料:
  • 删除列出的分支的所有尝试(根据下面的答案)都会导致错误: 我使用的是: git 1.7.4.1 ubuntu 10.04 GNU bash,version 4.1.5(1)-release GNU grep 2.5.4

  • 使用显示所有远程和本地分支。Git什么时候刷新这个列表? 拉/推?如何使用Git Bash刷新它?

  • 刚接触Git不久,误操作把Git 的本地分支文件夹给Shift delete了,本地分支还没有commit和push到Server远程分支上去,现在没有本地分支,如何删除Server上的远程分支呢? 似乎没有Push过本地分支,无法直接删除远程分支

  • 如果团队中的一个开发人员重命名了另一个开发人员也签出了的远程分支,那么第二个开发人员更新本地回购的最佳方式是什么,这样他们就不会意外地推到旧的分支名称?

  • 我刚刚在本地分支上运行了git merge master,解决了它所呈现的冲突。 但是,git现在将不再允许我使用git Push提交到我的分支。我刚刚运行了git pull并收到了以下反馈: 我不想结束我当前的工作,但我想提交一个拉请求与所有我当前的工作。谁能给点建议吗?

  • 我不想重命名远程分支,如重命名本地和远程Git存储库的主分支中所述。 如何重命名尚未推送到远程分支的本地分支? 如果您还需要重命名远程分支:如何重命名Git本地和远程分支名称