Per inciso, a parte la risposta di mipadi (che dovrebbe funzionare tra l'altro), dovresti sapere che facendo:
git branch -D master
git checkout master
fa anche esattamente quello che vuoi senza having to redownload everything
(la tua citazione è parafrasata). Questo perché il tuo repository locale contiene una copia del repository remoto (e quella copia non è la stessa della tua directory locale, non è nemmeno la stessa del tuo ramo estratto).
Cancellare un ramo è perfettamente sicuro e ricostruire quel ramo è molto veloce e non comporta traffico di rete. Ricorda, git è principalmente un repo locale in base alla progettazione. Anche le filiali remote hanno una copia sul locale. C'è solo un po 'di metadati che dicono a git che una specifica copia locale è in realtà un ramo remoto. In git, tutti i file sono sempre sul disco rigido.
Se non hai rami diversi dal master, dovresti:
git checkout -b 'temp'
git branch -D master
git checkout master
git branch -D temp
git fetch
egit pull
- pull è una combinazione di fetch e merge.