удалить - переименовать удаленную ветку git




Как переименовать локальную ветку Git? (20)

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

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


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

  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


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

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

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

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

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

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


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

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 - хорошая статья об этом.


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


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

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


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


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

git branch -m <oldname> <newname>

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

git branch -m <newname>

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


Изменение ветви локально довольно просто ...

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

git branch -m my_new_branch

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

git branch -m my_old_branch my_new_branch

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


Ниже перечислены шаги по переименованию ветки:

1. switch to branch which needs to be renamed
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 и убедитесь, что вновь созданная ветка указывает на свой собственный ref и не старше. Если вы найдете ссылку на ветку старше, вам необходимо отключить восходящий поток, используя:

git branch --unset-upstream

Переименование ветки 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$ 

Переименуйте ветку с помощью этой команды:

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

Пользователи Advanced 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

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

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

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

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

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


Пытается ответить конкретно на вопрос (по крайней мере, название).

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

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

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

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

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


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

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

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

Чтобы переместить изменения удаленной старой ветви:

git push origin :[old-branch]

Вносить изменения в создание нового филиала:

git push origin [new-branch]

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

git branch -m <newname>

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

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

git checkout -dumb-name

git checkout -- -dumb-name

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

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

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

версия 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

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


git branch -m old_branch_name  new_branch_name

или же

git branch --move old_branch_name new_branch_name




git-branch