Начиная с Git 1.7.3, вы можете сделать это с помощью одной простой команды:
git checkout -B master
Переключатель -b
означает «создать ветку здесь перед проверкой», и -B
является безусловной версией этого, «даже если ветвь уже существует - в этом случае переместите ее здесь перед проверкой».
Очень простой подход к решению проблемы такого рода - просто удалить ветку master
и воссоздать ее. В конце концов, ветки в git - это просто имена для коммитов, а ветка master
не является чем-то особенным.
Итак, предполагая, что текущим коммитом является тот, кем вы хотите master
, вы просто делаете
git branch -D master
чтобы удалить существующую ветку master
, затем выполните
git checkout -b master
в а) создать новую ветвь с именем master
, которая указывает на текущий коммит, и б) обновить HEAD
, чтобы она указала на ветку master
. После этого HEAD
будет присоединен к master
и, следовательно, master
будет двигаться вперед всякий раз, когда вы совершаете коммит.