Как переименовать имя удаленной ветви git
У меня есть 4 филиалов, как мастер -> происхождение/regacy, предлагает -> происхождение/предлагает.
Как вы можете видеть выше, я ввел неверное имя.
поэтому я хочу, чтобы переименовать имя удаленной ветки ( происхождения/regacy => происхождение/или происхождения/мастер)
Я пытаюсь команду.
git remote переименовать regacy legacy
но git консоль returned ошибка msg для меня.
ошибка : не удается переименовать раздел config - дистанционно.regacy ' to
- дистанционно.наследие'
Как я могу решить эту проблему?
4 ответов:
вы не можете напрямую переименовать удаленную ветку.
Вы должны удалить его, а затем повторно нажать его.переименование филиала
# rename the local branch to the new name git branch -m <old_name> <new_name> # delete the old branch on remote - where <remote> is eg. origin git push <remote> --delete old_name # push the new branch to remote git push <remote> new_name
важное замечание :
при использовании
git branch -m(move), git также обновление ваша ветка отслеживания с новым именем.
git remote rename regacy legacy
git remote renameпытается обновить удаленный раздел в файле config. Он переименует пульт с заданным именем в новое имя, но в вашем случае он не нашел ни одного, поэтому переименование не удалось.но он не будет делать то, что вы думаете, он будет переименовать local config удаленное имя и не удаленный филиал.
Примечание Git-серверы могут позволить вам переименовать ветку git с помощью веб-интерфейса или внешних программ (например, Sourctree и т. д.), Но вы должны имейте в виду, что в git вся работа выполняется локально, поэтому рекомендуется использовать вышеуказанные команды для работы.
если вы неправильно назвали ветвь и переместили ее в удаленный репозиторий, выполните следующие действия, чтобы переименовать эту ветвь (на основе этой статьи):
переименуйте свою локальную ветвь:
если вы находитесь на ветке, которую вы хотите переименовать:
git branch -m new-nameесли вы находитесь на разных филиал:
git branch -m old-name new-nameудалить
old-nameудаленная ветвь и нажмитеnew-nameместного отделения:git push origin :old-name new-nameсброс восходящей ветви для нового имени локальной ветви:
Переключитесь на ветку и затем:git push origin -u new-name
Кажется, что есть прямой путь:
Если вы действительно просто хотите переименовать ветви удаленно (без переименования каких-либо локальных ветвей одновременно), вы можете сделать это с помощью одной команды, например
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>смотрите оригинальный ответ для более подробной информации
прямого метода нет,
Переименовать Локальную Ветку,
мой нынешний филиал мастер
git branch -m master_renamed#master_renamed-это новое имя мастераудалить удаленный филиал,
git push origin --delete master_renamed#origin-это remote_nameнажимаем переименовать ветку в дистанционно,
git push origin master_renamedвот и все...

Comments