Можно удалить все коммиты, связанные с репо, но не все проблемы и запросы на извлечение. Если вам нужен полностью чистый репозиторий, вам придется удалить его и перезапустить.
Если вам просто нужно удалить коммиты, вы можете сделать это, удалив все ссылки, выполнив команду, подобную этой:
git for-each-ref refs/heads/* refs/tags/* | awk '{print $3}' | xargs -L1 git push -d origin
Это попытается удалить все ссылки на сервере, которые у вас есть в вашей системе. Это не удастся для ссылки, использующей ветку по умолчанию, которая обычно master
.
Затем удалите ветвь по умолчанию (в данном случае master
) с помощью API (обратите внимание, что вместо текста TOKEN
необходимо использовать личный токен доступа:
)
curl -v -u token:TOKEN https://api.github.com/repos/bk2204/test-repo/git/refs/heads/master
Вы должны заменить свой собственный репо вместо bk2204/test-repo
. Это удалит последнюю оставшуюся ссылку, в результате чего вы не будете иметь никаких веток или тегов.
Обратите внимание, что в хранилище все еще будут ссылки на запросы извлечения, такие как refs/pull/1/head
, которые вы не можете удалить. Если вам действительно нужно, чтобы все это ушло, вам придется начать все сначала.