Я не хочу переименовывать удаленную ветку, как описано в разделе Переименовать основную ветку для локальных и удаленных репозиториев Git .
Как я могу переименовать локальную ветку, которая не была перенесена в удаленную ветку?
Если вам нужно переименовать и удаленную ветку:
Как мне переименовать как локальную, так и удаленную ветку Git?
источник
git push -f --mirror
, то он переименует ветку на удаленном компьютере, но вы должны использовать этот метод только в том случае, если удаленный должен быть просто копией вашего текущего хранилища. Смотрите также этот вопрос: stackoverflow.com/questions/1526794/git-rename-remote-branchpush.default
настроено. По умолчанию (matching
) он отправляет на удаленный, чье имя совпадает. Вам придется сделать это,git push origin <newname>:<oldname>
или вы создадите новую удаленную ветку. Однако, еслиpush.default
установлено значениеupstream
, то вы можетеpush origin head
и все перейдет к старому имени на пульте.mv
файлов для переименования файлов. Причина этого заключается в том, что перемещение и переименование в файловой системе inode на основе каталогов полностью эквивалентны.-m
опции--move
, например,git branch --move master
переименовывает текущую ветвь в «master».Приведенная выше команда изменит имя вашей ветви, но вы должны быть очень осторожны, используя переименованную ветку, потому что она все равно будет ссылаться на старую ветвь восходящего потока, связанную с ней, если таковая имеется.
Если вы хотите внести некоторые изменения в master после того, как ваша локальная ветка переименована в new_branch_name (пример имени):
git push origin new_branch_name:master
(теперь изменения пойдут в основную ветку, но имя вашей локальной ветки - new_branch_name)Для получения дополнительной информации см. « Как переименовать имя вашей локальной ветки в Git ».
источник
Чтобы переименовать вашу текущую ветку:
источник
Вот шаги, чтобы переименовать ветку:
git branch -m <new_name>
git push origin :<old_name>
git push origin <new_name>:refs/heads/<new_name>
РЕДАКТИРОВАТЬ (12/01/2017): Убедитесь, что вы выполнили команду
git status
и убедитесь, что вновь созданная ветвь указывает на свою собственную ссылку, а не на старую. Если вы найдете ссылку на более старую ветку, вам нужно удалить восходящий поток, используя:источник
Переименовать ветку будет полезно, когда ваша ветка закончится. Затем приходит новый материал, и вы хотите развиваться в той же ветке, а не удалять его и создавать новый.
По моему опыту, чтобы переименовать локальную и удаленную ветку в Git, вы должны сделать следующие шаги.
1. Переименуйте свое местное отделение
Если вы находитесь на ветке, которую хотите переименовать:
Если вы находитесь в другой ветке:
2. Удалите удаленную ветку со старым именем и нажмите локальную ветвь с новым именем
3. Сброс восходящей ветви для локальной ветви с новым именем
источник
error: dst ref refs/heads/<old-name> receives from more than one src.; error: failed to push some refs to 'git@uri:foo/bar.git'
git push origin :old-name new-name
правильно?Ответы до сих пор были правильными, но вот дополнительная информация:
Можно смело переименовывать ветку с помощью «-m» (перемещение), но с «-M» нужно быть осторожнее, потому что оно вызывает переименование, даже если уже существует ветвь с таким именем. Вот выдержка из справочной страницы git-branch:
источник
-M
Флаг также полезно , чтобы заставить переименовать , если вы только исправляя случай имени ветви, например , измененияmyBranch
вMyBranch
. (С-m
, мерзавец возвращаетсяfatal: A branch named 'MyBranch' already exists.
)1. Переименовать
Если это ваша текущая ветка, просто сделайте
Если это другая ветка, которую вы хотите переименовать
2. Отслеживать новую удаленную ветку
- Если ваша ветка была перемещена, то после переименования вам нужно удалить ее из удаленного репозитория Git и попросить новую локальную систему отследить новую удаленную ветку:
источник
Я по глупости назвал ветку, начинающуюся с дефиса, а затем проверил мастера. Я не хотел удалять свою ветку, у меня была работа в ней.
Ни один из них не работал:
git checkout -dumb-name
git checkout -- -dumb-name
"
s,'
s и\
s тоже не помогли.git branch -m
не работаетВот как я наконец исправил это. Зайдите в .git / refs /head вашей рабочей копии, найдите имя файла "-dumb-name", получите хэш ветки. Затем это проверит это, создаст новую ветку с нормальным именем и удалит старую.
источник
reflog
Чтобы переименовать ветку локально:
Теперь вам нужно будет распространить эти изменения и на вашем удаленном сервере.
Чтобы протолкнуть изменения удаленной старой ветки:
Чтобы протолкнуть изменения создания новой ветки:
источник
Всего три шага для репликации изменения имени
remote
как на GitHub:Шаг 1
git branch -m old_branchname new_branchname
Шаг 2
git push origin :old_branchname new_branchname
Шаг 3
git push --set-upstream origin new_branchname
источник
git push --set-upstream origin new_branchname
которая упоминается в ответеПереименуйте ветку, используя эту команду:
-m
: Переименовывает / перемещает ветку. Если ветка уже есть, вы получите ошибку.Если ветка уже существует и вы хотите переименовать ее, используйте:
Для получения дополнительной информации о помощи, используйте эту команду в терминале:
или
источник
Опытные пользователи Git могут переименовать вручную, используя:
источник
Если вы находитесь на ветке, которую хотите переименовать:
Если вы находитесь в другой ветке:
git push origin :old-name new-name
git push origin -u new-name
Или для быстрого способа сделать это, вы можете использовать эти 3 шага:
# Переименовать ветку локально
# Удалить старую удаленную ветку
# Нажмите новую ветку, установите локальную ветку для отслеживания нового пульта
Ссылка: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
источник
Вот три шага: Команда, которую вы можете вызвать внутри своего терминала и изменить имя филиала.
Если вам нужно больше: шаг за шагом, Хорошая статья об этом - как изменить имя Git Branch .
источник
Вероятно, как уже упоминалось другими, это будет несоответствие в именах ветвей.
Если у вас такая ситуация, я могу предположить, что вы работаете в Windows, что также приведет вас к:
Затем вы должны сделать промежуточный шаг:
Ничего больше.
источник
-M
вместо того,-m
чтобы делать такое «переопределение оболочки» переименование в один шаг.Попытка ответить конкретно на вопрос (хотя бы заголовок).
Вы также можете переименовать локальную ветку, но отслеживает старое имя на пульте.
Теперь, когда вы запускаете
git push
, удаленнаяold_branch
ссылка обновляется с вашей локальнойnew_branch
.Вы должны знать и помнить эту конфигурацию. Но это может быть полезно, если у вас нет выбора для имени удаленной ветви, но вам это не нравится (о, я имею в виду, у вас есть очень веская причина не любить его!) И предпочитаете более ясное название для вашего местного отделения.
Играя с конфигурацией выборки, вы даже можете переименовать локальную удаленную ссылку. то есть, имея
refs/remote/origin/new_branch
указатель реф в отрасли, то есть на самом делеold_branch
наorigin
. Тем не менее, я крайне не одобряю это, для безопасности вашего ума.источник
Поменять ветку локально довольно просто ...
Если вы находитесь в ветке, для которой хотите изменить имя, просто сделайте это:
В противном случае, если вы находитесь на
master
или какой - либо другой отрасли , кроме того, вы хотели бы изменить название, просто сделать:Кроме того, я создаю изображение ниже, чтобы показать это в действии в командной строке . В этом случае вы находитесь на
master
ветке, например:источник
Если вы хотите использовать SourceTree (что я настоятельно рекомендую), вы можете щелкнуть правой кнопкой мыши по своей ветке и выбрать «Переименовать».
источник
Чтобы переименовать текущую ветвь (за исключением отдельного состояния HEAD), вы также можете использовать этот псевдоним:
источник
Другой вариант - вообще не использовать командную строку. Клиенты Git GUI, такие как SourceTree, устраняют большую часть синтаксической кривой обучения / боли, из-за которой такие вопросы, как этот, входят в число самых просматриваемых при переполнении стека.
В SourceTree щелкните правой кнопкой мыши любую локальную ветвь на панели «Ветви» слева и выберите «Переименовать ...».
источник
Простой способ сделать это:
Для больше, посмотрите это .
источник
Поскольку вы не хотите передавать ветку на удаленный сервер, этот пример будет полезен:
Допустим, у вас есть существующая ветка под названием «my-hot-feature», и вы хотите переименовать ее в «feature-15».
Во-первых, вы хотите изменить местное отделение. Это не может быть проще:
Для получения дополнительной информации, вы можете посетить локально и удаленно переименование филиала в Git .
источник
Git версия 2.9.2
Если вы хотите изменить название местного филиала, на котором вы находитесь:
Если вы хотите изменить название другой ветви:
Если вы хотите изменить имя другой ветви на имя, которое уже существует:
Примечание: последняя команда деструктивна и переименует вашу ветку, но вы потеряете старую ветку с этим именем и этими коммитами, потому что имена веток должны быть уникальными.
источник
Если вы хотите изменить имя текущей ветви, запустите:
Если вы хотите удалить старую удаленную ветку, запустите:
Если вы хотите удалить старую удаленную ветку и создать новую удаленную ветку, выполните:
источник
Переименовать ветку Git можно с помощью:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
Разница между -m и -M :
-m: если вы пытаетесь переименовать ветку с существующим именем ветви, используя -m . Это вызовет ошибку, сообщающую, что ветвь уже существует. Вам нужно дать уникальное имя.
Но,
-M: это поможет вам принудительно переименовать имя, даже если оно существует. Таким образом, существующая ветка будет полностью перезаписана ...
Вот пример терминала Git,
источник
Для пользователей Git GUI это не может быть намного проще. В графическом интерфейсе Git выберите имя ветви из раскрывающегося списка в диалоговом окне «Переименовать ветвь», созданном из пункта меню «Ветвь: переименовать», введите новое имя и нажмите «Переименовать». Я выделил, где найти выпадающий список.
источник
Если ты хочешь:
git branch -m <oldname> <newname>
git push origin: old-name new-name
git commit <newname>
git push origin new_branch_name:master
git status
git checkout
источник
Все предыдущие ответы говорят о
git branch -m
. Конечно, им легко управлять, но для меня может быть немного трудно запомнить другую команду Git. Поэтому я попытался выполнить работу командой, с которой был знаком. Да, вы можете догадаться.Я использую
git branch -b <new_branch_name>
. И если вы не хотите сохранять старую ветку, вы можете выполнить ееgit branch -D <old_branch_name>
для удаления.Я знаю, что это может быть немного утомительно, но это легче понять и запомнить. Я надеюсь, что это полезно для вас.
источник
В PhpStorm:
VCS → Git → Филиалы ... → Локальные филиалы → _your_branch_ → Переименовать
источник
Все, что вам нужно сделать, это три шага:
источник