Переименовать ветку Git локально и удаленно? [дубликат]
этот вопрос уже есть ответ здесь:
есть ли способ переименовать ветвь Git локально и отправить ее в удаленную ветвь, даже если уже есть много коммитов, отправленных в удаленную ветвь?
или это необходимо создайте новую локальную ветвь, удалите старую локальную ветвь, а затем повторите операцию с удаленным репозиторием?
1 ответ:
да
функции
moveсуществует для переименования ветви локальноgit branch --move <old_name> <new_name>но чтобы нажать его, вы должны удалить старый и нажать новый
git checkout <new_name> git push origin [--set-upstream] <new_name> git push origin --delete <old_name>
--set-upstreamявляется необязательным, он настраивает новую локальную ветвь для отслеживания толкнул одинвы можете использовать следующие shorthands:
переместить локально (--move):
git branch -m <old_name> <new_name>нажимаем новую ветку (--set-upstream, необязательно):
git push origin [-u] <new_name>удалить (--delete):
git push origin -d <old_name>NB.
благодаря комментарию торека:
стоит упомянуть, кстати, что вы должны
- уведомить других пользователей, которые разделяют восходящий поток, что вы будете делать это, и
- сделайте это в указанном порядке (установите новое имя, затем удалите старое).
Причина №1 заключается в том, что эти пользователи должны будут настроить.
Причина #2 в основном заключается в эффективности: она позволяет избежать повторного копирования объектов в вышестоящее РЕПО, которое отбрасывает коммиты на удаление ветвей (большинство голых репозиториев делают это, и большинство репозиториев, которые принимают толчки, голые)
Comments