我在远程删除了一个分支,如何在本地同步?

时间:2017-09-11 12:44:42

标签: git github-for-windows

我在Github上创建了一个存储库。我有两个开发环境,我在两个版本上都使用Github for Windows访问Github。

在两个开发环境中的一个上,我删除了一个分支,并在Github for Windows中单击了“synchronize”。该分支在Github中被删除了。当我从我的其他开发环境同步时,有一个选项可以“发布”要删除的分支,但没有一个可以删除它。

如何告诉git或Github for Windows进行完全同步,包括删除过时的分支?

1 个答案:

答案 0 :(得分:4)

是和否 - 取决于您的真实含义"删除当地分支"。

快速回答

  • 不,让远程存储库删除正常情况是不可能的 在本地存储库中分支。

  • 是的,可以让Git在您当地删除远程分支机构 特定于已删除的分支的存储库 命名为remote (例如" origin")。

    这是通过运行

    来实现的
    git remote prune origin
    

    git fetch --prune
    

说明

请先了解Git的远程存储库模型是不对称的:本地存储库中的分支名称与远程存储库中的分支完全匹配的事实没有意义 到Git。

原因有两方面:

  • 您的本地存储库被Git视为完全自包含 并且不依赖于任何其他存储库。
  • 您的本地存储库可以与任意数量的存储库进行通信 远程存储库,...
  • ......这些存储库可能完全没有"概念性"关系 使用本地存储库:例如,可以将托管Linux源代码的存储库中的数据提取到包含存储库的存储库中 你的周末玩具项目。

因此,虽然Git有某些助手可以将本地分支与特定的远程分支联系起来,但这些联系是不对称的。 特别是,Git将您当地的历史视为"神圣的", 对它的破坏性操作需要你明确的行动。