У меня есть четыре ветви, такие как master -> origin / regacy, FeatureA -> origin / FeatureA. Как видите, я набрал неправильное имя.
Поэтому я хочу переименовать имя удаленной ветви (origin / regacy → origin / legacy или origin / master)
Я пробую команду ниже:
git remote rename regacy legacy
Но консоль Git вернула мне сообщение об ошибке.
error : Could not rename config section 'remote.regacy' to 'remote.legacy'
Как я могу решить эту проблему?
Ответы:
Есть несколько способов сделать это:
Переименование локального и удаленного
Переименование только удаленного филиала
Кредит: ptim
Важная заметка:
Когда вы используете
git branch -m
(перемещение), Git также обновляет вашу ветку отслеживания с новым именем.git remote rename
пытается обновить удаленный раздел в вашем файле конфигурации. Он будет переименовывать пульт с заданным именем в новое, но в вашем случае он не нашел ни одного, поэтому переименование не удалось.Но это не будет делать то, что вы думаете; он переименует ваше удаленное имя локальной конфигурации, а не удаленную ветвь.
Примечание. Серверы Git могут позволять вам переименовывать ветви Git с помощью веб-интерфейса или внешних программ (таких как Sourcetree и т. Д.), Но вы должны помнить, что в Git вся работа выполняется локально, поэтому рекомендуется использовать приведенные выше команды. на работу.
источник
Your configuration specifies to merge with the ref ''refs/heads/old_name'
git checkout <new_name> ; git branch --unset-upstream
--unset-upstream
перед повторным нажатием работаю как задумано.Если вы назвали ветку неправильно И передали ее в удаленный репозиторий, выполните следующие действия, чтобы переименовать эту ветку ( на основе этой статьи ):
Переименуйте свое местное отделение:
Если вы находитесь на ветке, которую хотите переименовать:
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> --delete old_name
&git push origin :old-name new-name
чтобы удалить ветку.master
, в Repo Details установите ветку по умолчанию на новую ветку. Ошибка:By default, deleting the current branch is denied, because the next 'git clone' won't result in any file checked out, causing confusion. You can set 'receive.denyDeleteCurrent' configuration variable to 'warn' or 'ignore' in the remote repository to allow deleting the current branch, with or without a warning message. To squelch this message, you can set it to 'refuse'. error: refusing to delete the current branch: refs/heads/master
Кажется, есть прямой путь:
Смотрите оригинальный ответ для более подробной информации.
источник
2.20.1
Удалил старую ветку, но новая не была создана.Это также можно сделать следующим образом.
Сначала переименуйте локальную ветку, затем удаленную ветку.
Переименование местного филиала:
Если залогинен в другой ветке,
Если вы вошли в ту же ветку,
Переименование удаленной ветки:
источник
Если вы уже передали неправильное имя удаленному, сделайте следующее:
Переключитесь на местный филиал, который вы хотите переименовать
git checkout <old_name>
Переименовать местное отделение
git branch -m <new_name>
Нажмите
<new_name>
локальную ветвь и сбросьте ветку восходящейgit push origin -u <new_name>
Удалить
<old_name>
удаленную веткуgit push origin --delete <old_name>
Это было основано на этой статье .
источник
Прикрепление простого фрагмента для переименования текущей ветви (локальной и исходной):
Пояснения из git docs:
источник
Там нет прямого метода,
Переименовать местный филиал ,
Моя текущая ветка мастер
git branch -m master_renamed
#master_renamed - новое имя мастераУдалить удаленную ветку,
git push origin --delete master
#origin is remote_nameНажмите переименованную ветку в удаленную
git push origin master_renamed
Это оно...
источник
git push -u origin master_renamed
это установить ветвь как отслеживающую ветвьЭто можно сделать даже без переименования локальной ветки в три простых шага:
источник
Я использую этот псевдоним git, и он в значительной степени выполняет работу автоматически:
Это работает, если у вас есть имена по умолчанию, такие как master, origin и т. Д. Вы можете изменить, как вы хотите, но это дает вам идею.
источник
Мне пришлось выполнить следующую задачу, чтобы переименовать локальную и удаленную ветку:
источник
Переименуйте свое местное отделение. Если вы находитесь на ветке, которую хотите переименовать:
git branch -m новое имя
Если вы находитесь в другой ветке:
Удалите удаленную ветку со старым именем и нажмите локальную ветвь с новым именем.
git push origin: old-name new-name
Сброс восходящей ветви для локальной ветви с новым именем. Переключитесь на ветку и затем:
git push origin -u новое имя
Все готово!
источник
Если вы находитесь на ветке, которую хотите переименовать:
если вы остаетесь в другой ветке в настоящее время:
Оставайтесь на целевой ветке и:
Переключитесь на целевую ветку и затем:
источник