Помимо этого, помимо ответа Мипади (который, кстати, должен работать), вы должны знать, что делаете:
git branch -D master
git checkout master
также делает то, что вы хотите без having to redownload everything
(ваша цитата перефразирована). Это потому, что ваше локальное хранилище содержит копию удаленного хранилища (и эта копия не совпадает с вашей локальной папкой, она даже не совпадает с вашей извлеченной веткой).
Удаление ветки совершенно безопасно, а восстановление этой ветки происходит очень быстро и не требует сетевого трафика. Помните, что git - это, прежде всего, локальное репо. Даже удаленные филиалы имеют копии на локальных. Есть только немного метаданных, которые сообщают git, что конкретная локальная копия на самом деле является удаленной ветвью. В git все файлы постоянно находятся на вашем жестком диске.
Если у вас нет других веток, кроме master, вам следует:
git checkout -b 'temp'
git branch -D master
git checkout master
git branch -D temp