После еще некоторой дополнительной информации:
MainRepo -> PublicBareRepo (with a lot of junk) -> The World
Так что проблема здесь. Время от времени вы продвигаетесь от MainRepo к PublicBareRepo, который теперь содержит вещи, которые больше не действительны и не должны быть там. В будущем убедитесь, что вы нажимаете только те ветки, которые должны быть там. Полагаю, сейчас главное - удалить с него ветки, а затем я должен вернуться к своему первоначальному ответу (если мы говорим о том же мусоре)
git push PublicBareRepo :someBranch1
git push PublicBareRepo :someBranch2
После получения дополнительной информации от ОП:
Похоже, что дизайн репо вызывает проблемы, и --Rirm - способ решить эту проблему. Если A является основным голым репо, в которое разработчики помещают свои вещи, и если B является публичным репо, то B должен быть клоном A с параметром --mirror.
Что нужно сделать, это выполнить «удаленное обновление git» (при условии, что B уже является зеркалом A) на B, чтобы он сам обновился и снова стал идентичным A.
Оригинальный ответ:
Если вы хотите удалить ветку в удаленном хранилище, вы можете сделать:
git push origin :branchName
То же самое относится и к любому рефери, например для тега:
git push origin :tagName