从网站界面删除分支时,GitHub使用什么git命令?

时间:2019-04-05 00:25:19

标签: git github

我使用GitHub网站从分支列表中删除了一个分支(下图中的红色垃圾桶图标)。

enter image description here

当我在本地计算机上获取最新的原始主机,然后执行git branch -r时,仍然可以在远程看到删除的分支。但是当我运行git ls-remote --heads origin时,分支及其头不在那儿。

GitHub到底在做什么?

2 个答案:

答案 0 :(得分:3)

这些实际上是两个单独的问题,但是我将尝试回答两个问题。首先,当您在GitHub界面(或使用GitHub API)中删除分支时,它的作用等同于git branch -D。但是,它不使用该特定命令来执行此操作;大多数托管服务提供商使用libgit2与存储库进行交互。

看到远程分支仍在您的计算机上的原因是,除非您使用git fetch,否则--prune命令不会删除远程跟踪分支。如果您使用git fetch --prune origin,则删除的分支将被删除。

答案 1 :(得分:3)

git fetch默认情况下不会删除远程跟踪引用。运行git fetch --prune,然后再次运行git branch -r。他们应该走了。

  

获取之前,请删除遥控器上不再存在的所有远程跟踪参考。