Я думаю, что у вас может быть проблема XY.На самом деле вам не нужно возвращать удаленный репозиторий в исходное состояние, чтобы начать все сначала;вам просто нужно начать сначала локально, а затем принудительно передать его на удаленный компьютер.
# create a new repository that has the initial commit that you want
mkdir foo; cd foo; git init; ...; git commit
# set up a remote
git remote add origin <url-of-remote>
git branch --set-upstream master origin/master
# push your new history
git push -f
# delete obsolete remote branches
git push origin :deprecated-branch
Удаленный репозиторий никогда не возвращается в состояние без фиксации, но заканчивается там, где вы хотите, и это всеэто имеет значение!
(Под капотом старые коммиты фактически все еще находятся в удаленном репозитории, но они остаются висящими, без ссылок на них. Они будут автоматически удалены, когда git gc --auto
вызвано нажатием в какой-то момент.)
Если вы действительно, действительно хотите по какой-то причине очистить его, вы можете установить receive.denyDeleteCurrent
в удаленном репозитории и принудительно удалить все ветви, включая текущую.,Я не понимаю, зачем вам это нужно!