it-swarm.com.ru

Как переименовать местную ветку Git?

Я не хочу переименовывать удаленную ветку, как описано в Переименовать основную ветку для локальных и удаленных репозиториев Git.

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

Если вам необходимо переименовать удаленную ветку, а также:
Как переименовать как локальное, так и удаленное имя ветки Git

7688
Forrest

Если вы хотите переименовать ветку, указав на любую ветку, выполните:

git branch -m <oldname> <newname>

Если вы хотите переименовать текущую ветку, вы можете сделать:

git branch -m <newname>

Чтобы запомнить это, -m предназначен для "move" (или mv), то есть как вы переименовываете файлы.

12346
siride
git branch -m old_branch_name new_branch_name

Приведенная выше команда изменит имя вашей ветви, но вы должны быть очень осторожны, используя переименованную ветку, потому что она все равно будет ссылаться на старую ветвь восходящего потока, связанную с ней, если таковая имеется.

Если вы хотите вставить некоторые изменения в master после того, как ваша локальная ветка переименована в new_branch_name (пример имени):

git Push Origin new_branch_name:master (теперь изменения пойдут в основную ветку, но имя вашей локальной ветки - new_branch_name)

Для получения более подробной информации смотрите " Как переименовать имя вашей локальной ветки в Git ."

395
Madhan Ayyasamy

Чтобы переименовать вашу текущую ветку:

git branch -m <newname>
286
Jonathan

Вот шаги, чтобы переименовать ветку:

  1. Переключитесь на ветку, которую нужно переименовать
  2. git branch -m <new_name>
  3. git Push Origin :<old_name>
  4. git Push Origin <new_name>:refs/heads/<new_name>

EDIT (12/01/2017): Убедитесь, что вы выполнили команду git status и убедитесь, что вновь созданная ветка указывает на свою собственную ссылку, а не на более старую. Если вы найдете ссылку на более старую ветку, вам нужно удалить восходящий поток, используя:

git branch --unset-upstream
239
Milind Anantwar

Переименовать ветку будет полезно, когда ваша ветка закончится. Затем приходит новый материал, и вы хотите развиваться в той же ветке, а не удалять его и создавать новый.

По моему опыту, чтобы переименовать локальную и удаленную ветку в Git, вы должны сделать следующие шаги.

Цитирование из Несколько состояний - переименовать локальную и удаленную ветку в git

1. Переименуйте свое местное отделение

Если вы находитесь на ветке, которую хотите переименовать:

git branch -m new-name

Если вы находитесь в другой ветке:

git branch -m old-name new-name

2. Удалите удаленную ветку со старым именем и нажмите локальную ветвь с новым именем

git Push Origin :old-name new-name

3. Сброс восходящей ветви для локальной ветви с новым именем

git Push Origin -u new-name
171
trungk18

Ответы до сих пор были правильными, но вот дополнительная информация:

Можно переименовать ветку с помощью "-m" (перемещение), но нужно быть осторожным, потому что "-M" вызывает переименование, даже если уже существует ветвь с таким именем. Вот выдержка из справочной страницы 'git-branch':

> С параметром -m или -M <oldbranch> будет переименован в <newbranch>. Если <oldbranch> имел соответствующий reflog, он переименовывается, чтобы соответствовать <newbranch>, и создается запись reflog для запоминания переименования ветви. Если существует <newbranch>, то для принудительного переименования необходимо использовать -M.

97
Vanchev

1. Переименовать

Если это ваша текущая ветка, просто сделайте

git branch -m new_name

Если это другая ветка, которую вы хотите переименовать

git branch -m old_name new_name

2. Отслеживать новую удаленную ветку

- Если ваша ветка была нажата, то после переименования вам нужно удалить ее из удаленного репозитория Git и попросить новую локальную систему отследить новую удаленную ветку:

git Push Origin :old_name
git Push --set-upstream Origin new_name
80
Oss

Я по глупости назвал ветку, начинающуюся с дефиса, а затем проверил мастера. Я не хотел удалить мою ветку, у меня была работа в ней.

Ни один из них не работал:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's и \s тоже не помогли. git branch -m не работает.

Вот как я наконец исправил это. Зайдите в .git/refs /head вашей рабочей копии, найдите имя файла "-dumb-name", получите хэш ветки. Затем это проверит это, создаст новую ветку с нормальным именем и удалит старую.

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
68
Samuel Meacham

Чтобы переименовать ветку локально:

git branch -m [old-branch] [new-branch]

Теперь вам нужно будет распространить эти изменения и на вашем удаленном сервере.

Нажать изменения удаленной старой ветки:

git Push Origin :[old-branch]

Нажать изменения создания новой ветки:

git Push Origin [new-branch]
62
aliasav

Переименуйте ветку, используя эту команду:

git branch -m [old_branch_name] [new_branch_name]

-m: переименовывает/перемещает ветку. Если ветка уже есть, вы получите ошибку.

Если ветка уже существует и вы хотите переименовать ее, используйте:

 git rename -M [old_branch_name] [new_branch_name]

Для получения дополнительной информации о помощи, используйте эту команду в терминале:

git branch --help

или же

man git branch
35
Hafiz Shehbaz Ali

переименовать ветку :

git branch -m old_branchname new_branchname

Здесь длинное имя опции -m - --move. Таким образом, мы также можем использовать:

git branch --move old_branchname new_branchname

Если вы хотите переименовать текущую ветку, используйте это:

git branch -m new_branchname

или же

git branch -move new_branchname

Если вы хотите переместить эти изменения в удаленное, используйте следующее.

git Push Origin :old_branchname new_branchname

Это удалит удаленную ветку old_branchname и выдвинет локальную ветку new_branchname.

git Push Origin -u new_branchname

Это сбросит восходящую ветвь для локальной ветки new_branchname.

33
Ajmal sha

Опытные пользователи Git могут переименовать вручную, используя:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name
32
Jethik
  1. Переименуйте свое местное отделение.

Если вы находитесь на ветке, которую хотите переименовать:

git branch -m new-name

Если вы находитесь в другой ветке:

git branch -m old-name new-name
  1. Удалите удаленную ветку со старым именем и нажмите локальную ветвь с новым именем.

git Push Origin :old-name new-name

  1. Сброс восходящей ветви для локальной ветви с новым именем. Переключитесь на ветку и затем:

git Push Origin -u new-name

Или для быстрого способа сделать это, вы можете использовать эти 3 шага:

# Переименовать ветку локально

git branch -m old_branch new_branch  

# Удалить старую удаленную ветку

git Push Origin :old_branch  

# Нажмите на новую ветку, установите локальную ветку для отслеживания нового пульта

git Push --set-upstream Origin new_branch   

Ссылка: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

27
badarshahzad

Вот три шага: Команда, которую вы можете вызвать внутри своего терминала и изменить имя филиала.

git branch -m old_branch new_branch         # Rename branch locally
git Push Origin :old_branch                 # Delete the old branch
git Push --set-upstream Origin new_branch   # Push the new branch, set local branch to track the new remote

Если вам нужно больше: пошагово, Как изменить имя Git Branch хорошая статья об этом.

22
Hazarapet Tunanyan

Вероятно, как уже упоминалось другими, это будет несоответствие в именах ветвей.

Если у вас такая ситуация, я могу предположить, что вы работаете в Windows, что также приведет вас к:

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

Затем вы должны сделать промежуточный шаг:

$ git branch -m temporary
$ git branch -m casesensitive

Ничего более.

22
P4C

Попытка ответить конкретно на вопрос (хотя бы заголовок).

Вы также можете переименовать локальную ветку, но отслеживает старое имя на пульте.

git branch -m old_branch new_branch
git Push --set-upstream Origin new_branch:old_branch

Теперь, когда вы запускаете git Push, удаленный old_branch ref обновляется вашим локальным new_branch.

Вы должны знать и помнить эта конфигурация. Но это может быть полезно, если у вас нет выбора для имени удаленной ветви, но вам это не нравится (о, я имею в виду, у вас очень хорошо причина не нравится!) и предпочитаю более четкое название для вашего местного отделения.

Играя с конфигурацией выборки, вы даже можете переименовать локальную удаленную ссылку. то есть, имея refs/remote/Origin/new_branch ref указатель на ветвь, то есть фактически old_branch на Origin. Тем не менее, я крайне не одобряю это, для безопасности вашего ума.

20
Pierre-Olivier Vares

Если вы хотите использовать SourceTree (что я настоятельно рекомендую), вы можете щелкнуть правой кнопкой мыши свою ветку и выбрать "Переименовать".

enter image description here

18
Marcin Szymczak

Изменить ветку локально довольно легко ...

Если вы находитесь в ветке, для которой хотите изменить имя, просто сделайте это:

git branch -m my_new_branch

В противном случае, если вы используете master или любую другую ветку , отличную от той, которую вы хотите изменить, просто выполните:

git branch -m my_old_branch my_new_branch

Кроме того, я создаю изображение ниже, чтобы показать это в действии командной строки . В этом случае вы находитесь на ветке master, например:

Change branch name locally

18
Alireza

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

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
17
dentuzhik

Другой вариант - вообще не использовать командную строку. Клиенты Git GUI, такие как SourceTree , устраняют большую часть синтаксической кривой обучения/боли, из-за которой такие вопросы, как этот, входят в число самых просматриваемых при переполнении стека.

В SourceTree щелкните правой кнопкой мыши любую локальную ветвь на панели "Ветви" слева и выберите "Переименовать ...".

15
Steve Chambers

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

Допустим, у вас есть существующая ветка под названием "my-hot-feature", и вы хотите переименовать ее в "feature-15".

Во-первых, вы хотите изменить местное отделение. Это не может быть проще:

git branch -m my-hot-feature feature-15

Для получения дополнительной информации вы можете посетить Локальное и удаленное переименование ветки в Git.

13
Tanah

Всего два шага для репликации изменения имени на remote, а также на GitHub:

Шаг 1 git branch -m old_branchname new_branchname

Шаг 2 git Push Origin :old_branchname new_branchname

10
Harry_pb

Git версия 2.9.2

Если вы хотите изменить название местного филиала, на котором вы находитесь:

git branch -m new_name

Если вы хотите изменить название другой ветви:

git branch -m old_name new_name

Если вы хотите изменить имя другой ветви на имя, которое уже существует:

git branch -M old_name new_name_that_already_exists

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

10
nikkypx

Если вы хотите изменить имя текущей ветви, запустите:

git branch -m [old_branch] [new_branch]

Если вы хотите удалить старую удаленную ветку, запустите:

git Push Origin :[old_branch]

Если вы хотите удалить старую удаленную ветку и создать новую удаленную ветку, выполните:

git Push Origin :old_branch new_branch
8
Arif

Простой способ сделать это:

git branch -m old_branch new_branch         # Rename branch locally
git Push Origin :old_branch                 # Delete the old branch
git Push --set-upstream Origin new_branch   # Push the new branch, set local branch to track the new remote

Для получения дополнительной информации см. это .

8
Nomade
git branch -m old_branch_name  new_branch_name

или же

git branch --move old_branch_name new_branch_name
4
user128364

Для пользователей Git GUI это не может быть намного проще. В графическом интерфейсе Git выберите имя ветви из раскрывающегося списка в диалоговом окне "Переименовать ветвь", созданном из пункта меню "Ветвь: переименовать", введите новое имя и нажмите "Переименовать". Я выделил, где найти выпадающий список.

Rename a local Git branch

4
user3070485

Все предыдущие ответы говорят о git branch -m. Конечно, им легко управлять, но для меня может быть немного трудно запомнить другую команду Git. Поэтому я попытался выполнить работу командой, с которой был знаком. Да, вы можете догадаться.

Я использую git branch -b <new_branch_name>. И если вы не хотите сохранять старую ветку, вы можете выполнить git branch -D <old_branch_name>, чтобы удалить ее.

Я знаю, что это может быть немного утомительно, но это легче понять и запомнить. Я надеюсь, что это полезно для вас.

3
Dai Kaixian

Переименовать ветку Git можно с помощью:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

Разница между - - m и - M:

- m: если вы пытаетесь переименовать свою ветку с существующим именем ветви, используя - - m. Это вызовет ошибку, сообщающую, что ветвь уже существует. Вам нужно дать уникальное имя.

Но,

- M: это поможет вам принудительно переименовать с заданным именем, даже если оно существует. Таким образом, существующая ветка будет полностью перезаписана ...

Вот пример Git-терминала

[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$
3
Mohideen bin Mohammed

Если хотите:

  • Переименуйте репозиторий 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
2
Vineet Jain

В PhpStorm:

VCS → Git → Ветки ... → Локальные ветви → YOUR_BRANCH → Переименовать

1
AlexSi

Переименовать текущую ветку

git branch -m <newbranchname>

или же

git branch -m oldbranchname newbranchname
0
panthari