如何修复陈旧的git branch -r(删除幻影git分支)?

时间:2013-05-28 07:58:11

标签: git

$ git branch
  develop
* feature/bug_76
  master
$ git branch -r
  origin/HEAD -> origin/master
  origin/develop
  origin/feature/implement_IBResponder
  origin/master
  origin/origin
  origin/sculptor_strategy

在当地,我很好。我想删除原产地上的所有内容,所以我尝试:

$ git push origin :origin/sculptor_strategy
error: unable to delete 'origin/sculptor_strategy': remote ref does not exist
error: failed to push some refs to 'git@gitlab:pitbull.git'

我做错了什么?

(Wild Guess)是什么原产地的一些本地缓存陈旧?

ANSWER

事实证明这是一个红鲱鱼 - 问题是,我的本地缓存是陈旧的,正如我怀疑的那样。以下两个答案都可以正常使用。

2 个答案:

答案 0 :(得分:36)

您可能无法启用修剪选项。使用:git fetch --prune

答案 1 :(得分:21)

使用:

git remote prune origin

删除已远程删除的引用。或者:

git fetch -p origin

做同样的事情,或者:

git remote update --prune

(我不确定为什么有很多方法可以做到这一点。他们应该所有行为都相同,但至少在某些版本的git中,有时一个会工作而另一个会赢不,如果一种形式不起作用,可能有助于尝试另一种形式。)