Как удалить ветвь "remote", которая все еще отображается локально?

Филиал был создан непреднамеренно. Я хочу удалить его. На самом деле, я думал, что удалил его на прошлой неделе, и он не появляется в поисках на битбакете, поэтому я склонен думать, что проблема заключается только в моем локальном репо. Почему филиал по-прежнему появляется в моем местном репо после этого?

$ git branch -d ebc_193_157_154_order_creation_xsd_validation_and_refactored_code
error: branch 'ebc_193_157_154_order_creation_xsd_validation_and_refactored_code' not found.
$ git push bitbucket :ebc_193_157_154_order_creation_xsd_validation_and_refactored_code
error: unable to delete 'ebc_193_157_154_order_creation_xsd_validation_and_refactored_code': remote ref does not exist
error: failed to push some refs to 'bitbucket.org:trueaction/eb2c'

И все же это остается:

$ git branch -r | grep ebc_193
  bitbucket/ebc_193_157_154_order_creation_xsd_validation_and_refactored_code
$ git branch -a | grep ebc_193
  remotes/bitbucket/ebc_193_157_154_order_creation_xsd_validation_and_refactored_code

Что я должен сделать, чтобы избавиться от него?

Ответ 1

Вы ищете git remote prune который удаляет устаревшие удаленные ветки.

Удаляет все дочерние ветки удаленного отслеживания. Эти устаревшие ветки уже удалены из удаленного репозитория, на который ссылаются, но все еще локально доступны в "remotes/".

С параметром --dry-run сообщите, какие ветки будут обрезаны, но на самом деле их не обрезают.

В вашей ситуации вы захотите использовать git remote prune origin.