Подтвердить что ты не робот

Как исправить устаревшие ветки git branch -r (удалить phantom 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 '[email protected]:pitbull.git'

Что я делаю неправильно?

(Wild Guess) Является ли какой-то локальный кеш того, что по происхождению устарело?

ANSWER

Оказалось, что это красно-селедка - проблема в том, что мой локальный кеш был устаревшим, как я подозревал. Оба ответа ниже будут работать нормально.

4b9b3361

Ответ 1

Вероятно, вы не выбрали параметр разрезания. Использовать: git fetch --prune.

Ответ 2

Использование:

git remote prune origin

чтобы удалить ссылки, удаленные удаленно. Или:

git fetch -p origin

который делает то же самое, или:

git remote update --prune

(Я не уверен, почему существует так много способов сделать это. Они должны действовать одинаково, но по крайней мере в некоторых версиях git, иногда один будет работать, а другой - нет, так что если одна форма не работает, это может помочь попробовать другой.)