Переименовать ветку Git локально и удаленно? [дубликат]



этот вопрос уже есть ответ здесь:



есть ли способ переименовать ветвь Git локально и отправить ее в удаленную ветвь, даже если уже есть много коммитов, отправленных в удаленную ветвь?



или это необходимо создайте новую локальную ветвь, удалите старую локальную ветвь, а затем повторите операцию с удаленным репозиторием?

492   1  

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. сделайте это в указанном порядке (установите новое имя, затем удалите старое).

Причина №1 заключается в том, что эти пользователи должны будут настроить.

Причина #2 в основном заключается в эффективности: она позволяет избежать повторного копирования объектов в вышестоящее РЕПО, которое отбрасывает коммиты на удаление ветвей (большинство голых репозиториев делают это, и большинство репозиториев, которые принимают толчки, голые)

Comments

    Ничего не найдено.