Как переименовать имя удаленной ветви git



У меня есть 4 филиалов, как мастер -> происхождение/regacy, предлагает -> происхождение/предлагает.



Как вы можете видеть выше, я ввел неверное имя.



поэтому я хочу, чтобы переименовать имя удаленной ветки ( происхождения/regacy => происхождение/или происхождения/мастер)



Я пытаюсь команду.




git remote переименовать regacy legacy




но git консоль returned ошибка msg для меня.




ошибка : не удается переименовать раздел config - дистанционно.regacy ' to
- дистанционно.наследие'




Как я могу решить эту проблему?

897   4  

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

enter image description here


важное замечание :

при использовании git branch -m (move), git также обновление ваша ветка отслеживания с новым именем.

git remote rename regacy legacy

git remote rename пытается обновить удаленный раздел в файле config. Он переименует пульт с заданным именем в новое имя, но в вашем случае он не нашел ни одного, поэтому переименование не удалось.

но он не будет делать то, что вы думаете, он будет переименовать local config удаленное имя и не удаленный филиал. 


Примечание Git-серверы могут позволить вам переименовать ветку git с помощью веб-интерфейса или внешних программ (например, Sourctree и т. д.), Но вы должны имейте в виду, что в git вся работа выполняется локально, поэтому рекомендуется использовать вышеуказанные команды для работы.

если вы неправильно назвали ветвь и переместили ее в удаленный репозиторий, выполните следующие действия, чтобы переименовать эту ветвь (на основе этой статьи):

  1. переименуйте свою локальную ветвь:

    • если вы находитесь на ветке, которую вы хотите переименовать:
      git branch -m new-name

    • если вы находитесь на разных филиал:
      git branch -m old-name new-name

  2. удалить old-name удаленная ветвь и нажмите new-name местного отделения:
    git push origin :old-name new-name

  3. сброс восходящей ветви для нового имени локальной ветви:
    Переключитесь на ветку и затем:
    git push origin -u new-name

Кажется, что есть прямой путь:

Если вы действительно просто хотите переименовать ветви удаленно (без переименования каких-либо локальных ветвей одновременно), вы можете сделать это с помощью одной команды, например

git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>

https://stackoverflow.com/a/21302474/2586761

смотрите оригинальный ответ для более подробной информации

прямого метода нет,

  1. Переименовать Локальную Ветку,

    мой нынешний филиал мастер

    git branch -m master_renamed#master_renamed-это новое имя мастера

  2. удалить удаленный филиал,

    git push origin --delete master_renamed#origin-это remote_name

  3. нажимаем переименовать ветку в дистанционно,

    git push origin master_renamed

вот и все...

Comments

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