Окрім відповіді mipadi (яка повинна працювати до речі), ви повинні знати, що робите:
git branch -D master
git checkout master
також робить саме те, що ви хочете без having to redownload everything
(цитата перефразована). Це тому, що ваше локальне репо містить копію віддаленого репо (і ця копія не збігається з вашим локальним каталогом, вона навіть не така, як ваша перевірена гілка).
Видалення гілки є абсолютно безпечним і реконструює цю гілку дуже швидко і не передбачає мережевого трафіку. Пам'ятайте, що git - це передусім локальне репо за задумом. Навіть віддалені відділення мають копію на місцевому рівні. Існує лише трохи метаданих, які повідомляють git, що певна локальна копія - це насправді віддалена гілка. У Git всі файли весь час знаходяться на жорсткому диску.
Якщо у вас немає галузей, крім майстра, вам слід:
git checkout -b 'temp'
git branch -D master
git checkout master
git branch -D temp
git fetch
і іншеgit pull
- тягнення - це комбінація отримання та злиття.