Прежде всего, дикая догадка: эти ветви на самом деле все еще находятся в репозитории GitHub, видны в Интернете, или вы просто видите их как удаленные ветви в своем репо? (Запустите git remote update --prune
, чтобы обновить вещи; это удалит их, если они только в вашем локальном репо.)
Используйте git ls-remote origin
, чтобы напечатать ссылки на пульте, как он их видит, например ::
406da7803217998ff6bf5dc69c55b1613556c2f4 HEAD
1e501a7c47ad5ada53d3b1acfb9f131f76e969ec refs/heads/maint
406da7803217998ff6bf5dc69c55b1613556c2f4 refs/heads/master
56e79320f3d9b044c380dfebf136584aaa17ac5b refs/heads/next
...
Найдите те, которые вы хотите удалить, затем используйте git push :<ref>
для удаления, например, git push :refs/heads/branch-foo
.
Я не совсем уверен, что происходит для вас, но если предположить, что ссылки действительно существуют на пульте, это должен быть надежный способ увидеть и удалить их. Мое лучшее предположение состоит в том, что ссылки, которые вы видите на GitHub, на самом деле не в refs/heads
, поэтому использование неквалифицированного refname не работает. (Хотя я не уверен, как бы вы оказались в такой ситуации!