Como renomear branch git local?

Eu não quero renomear uma ramificação remota, conforme descrito em Renomear a ramificação principal para repositórios Git locais e remotos.

Como renomear uma ramificação local que não foi clicada em uma ramificação remota?

5839
06 июля '11 в 6:20 2011-07-06 06:20 Forrest é definido 6 de julho de 2011 às 6:20 2011-07-06 06:20
@ 24 respostas

Se você quiser renomear uma ramificação, apontando para qualquer ramificação, siga estas etapas:

 git branch -m <oldname> <newname> 

Se você quiser renomear o ramo atual, você pode fazer:

 git branch -m <newname> 

A maneira de lembrar isso é, -m para "mover" (ou mv ), ou seja, como você renomeia os arquivos.

9202
06 июля '11 в 6:21 2011-07-06 06:21 a resposta é dada por siride 06 julho '11 às 6:21 2011-07-06 06:21
 git branch -m old_branch_name new_branch_name 

O comando acima irá alterar o nome da sua ramificação, mas você deve ter muito cuidado com a ramificação renomeada, porque ela ainda se referirá à ramificação upstream associada a ela, se houver uma.

Se você quiser mover algumas alterações para o assistente depois que a ramificação local for renomeada para new_branch_name (nome do exemplo):

border=0

git push origin new_branch_name:master (agora as alterações irão para o ramo principal, mas o nome da sua filial local é new_branch_name)

Para detalhes, consulte " Como renomear o nome de uma ramificação local no Git .

303
21 янв. a resposta é dada Madhan Ayyasamy 21 Jan 2013-01-21 12:49 '13 às 12:49 2013-01-21 12:49

Para renomear o ramo atual:

 git branch -m <newname> 
208
20 июня '13 в 18:05 2013-06-20 18:05 Resposta é dada por Jonathan em 20 de junho de 2013 às 18:05 2013-06-20 18:05

Aqui estão os passos para mudar o nome de um ramo:

 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 (01/12/2017): Certifique-se de executar o comando git status e de certificar-se de que a ramificação recém-criada aponte para sua própria ref e não para a mais antiga. Se você encontrar um link para um ramo mais antigo, você precisa cancelar o upstream usando:

 git branch --unset-upstream 
148
15 апр. Resposta dada por Milind Anantwar em 15 Abr 2015-04-15 15:50 '15 às 15:50 2015-04-15 15:50

Renomear uma ramificação será útil depois de concluir sua ramificação. Em seguida, vem o novo material, e você quer desenvolver no mesmo ramo, e não excluí-lo e criar um novo.

Da minha experiência, para renomear uma ramificação local e remota no Git, você deve executar as etapas a seguir.

Cite de vários estados. Renomeie ramificação local e remota para git

1. Renomear filial local

Se você estiver em uma filial, você deseja renomear:

 git branch -m new-name 

Se você estiver em outro ramo:

 git branch -m old-name new-name 

2. Exclua o ramo remoto do nome antigo e clique na ramificação local do novo nome.

 git push origin :old-name new-name 

3. Redefina o ramo upstream para o ramo local do novo nome.

 git push origin -u new-name 
84
14 окт. a resposta é dada trungk18 14 de outubro . 2016-10-14 06:22 '16 às 6:22 am 2016-10-14 06:22

As respostas até agora estão corretas, mas aqui estão algumas informações adicionais: Você pode renomear uma ramificação com "-m" (mover), mas precisa ser cuidadoso, porque "-M" o obriga a renomeá-lo, mesmo que haja uma ramificação com o mesmo nome. Aqui está um trecho da página do man git-branch:

Com a opção -m ou -M, <oldbranch> será renomeado para <newbranch> . Se o <oldbranch> tiver um reflog correspondente, ele será renomeado para corresponder ao <newbranch> e uma entrada reflog será criada para lembrar a renomeação de ramificações. Se <newbranch> existir, -M deve ser usado para forçar uma renomeação.

70
24 сент. A resposta é dada Vanchev 24 set . 2013-09-24 16:21 '13 às 4:21 pm 2013-09-24 16:21

1. Renomear

Se este é o seu tópico atual, apenas

  git branch -m new_name 

Se este for outro ramo que você deseja renomear

  git branch -m old_name new_name 

2. Acompanhe um novo ramo remoto

. Se sua ramificação foi clicada, após renomear você precisa removê-la do repositório Git remoto e perguntar a nova trilha local da nova ramificação remota:

  git push origin :old_name git push --set-upstream origin new_name 
56
17 дек. Resposta dada por Mohamed Osama em 17 dez. 2015-12-17 16:45 '15 às 16:45 2015-12-17 16:45

Eu estupidamente chamei uma ramificação começando com um hífen e, em seguida, verifiquei o mestre. Eu não queria remover meu ramo, trabalhei nele.

Nenhum deles funcionou:

git checkout -dumb-name

git checkout -- -dumb-name

" s, ' e \ também não ajudou. git branch -m não funciona.

Foi assim que eu finalmente consertei. Vá para a sua cópia de trabalho de .git / refs / heads, encontre o nome do arquivo "-dumb-name", pegue o hash do branch. Em seguida, ele será verificado, crie uma nova ramificação com um nome razoável e exclua a antiga.

 git checkout {hash} git checkout -b brilliant-name git branch -d -- -dumb-name 
51
09 нояб. a resposta é dada por Samuel Meacham 09 de novembro 2013-11-09 10:31 '13 às 10:31 am 2013-11-09 10:31

Para renomear uma filial localmente:

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

Agora você também terá que propagar essas alterações para um servidor remoto.

Para enviar alterações para uma ramificação antiga excluída:

 git push origin :[old-branch] 

Para fazer alterações na criação de uma nova ramificação:

 git push origin [new-branch] 
48
20 авг. resposta dada aliasav Ago 20 2015-08-20 09:39 '15 às 9:39 2015-08-20 09:39

Renomeie o ramo usando este comando:

 git branch -m [old_branch_name] [new_branch_name] 

-m : renomeia / move um ramo. Se houver uma ramificação, você receberá uma mensagem de erro.

Se já houver uma ramificação e você quiser renomeá-la com essa ramificação, use:

  git rename -M [old_branch_name] [new_branch_name] 

Para mais informações sobre ajuda, use este comando no terminal:

 git branch --help 

ou

 man git branch 
23
11 апр. a resposta é dada por Hafiz Shehbaz Ali em 11 de abril. 2015-04-11 09:19 '15 às 9:19 2015-04-11 09:19

Usuários estendidos do Git podem renomear manualmente:

 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 
22
05 авг. A resposta é dada por Jethik 05 ago. 2015-08-05 12:04 '15 às 12:04 2015-08-05 12:04

Provavelmente, como mencionado por outros, será uma incompatibilidade em nome dos ramos.

Se você tiver essa situação, posso adivinhar que você está no Windows, o que também levará você a:

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

Então você precisa dar um passo intermediário:

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

Nada mais.

16
25 мая '15 в 14:52 2015-05-25 14:52 a resposta é dada por P4C em 25 de maio de '15 às 14:52 2015-05-25 14:52

Tente responder especificamente a questão (pelo menos o título).

Você também pode renomear o ramo local, mas manter o controle do nome antigo no controle remoto.

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

Agora, quando você executa o git push , o ref remoto old_branch é atualizado para o new_branch local.

Você deve conhecer e lembrar essa configuração. Mas isso pode ser útil se você não tiver escolha para o nome do ramo remoto, mas não gostar (ah, quero dizer, você tem um bom motivo para não gostar dele!) E eles preferem um nome mais claro para o seu local ramos.

Ao jogar com a configuração de amostra, você pode até renomear o link remoto local. isto é, ter um refs/remote/origin/new_branch ref refs/remote/origin/new_branch para o branch, isto é, de fato, old_branch to origin . No entanto, estou muito desanimado com isso, pela segurança de sua mente.

14
19 мая '16 в 13:39 2016-05-19 13:39 a resposta é dada a Pierre-Olivier Vares em 19 de maio '16 às 13:39 2016-05-19 13:39

Outra opção é não usar a linha de comando. Os clientes GUI do Git, como o SourceTree , retiram a maior parte da curva de sintaxe de aprendizado / dor, o que levanta questões como essa mais visualizada em um estouro de pilha.

No SourceTree, clique com o botão direito do mouse em qualquer ramificação local no painel "Ramificações" à esquerda e selecione "Renomear ...".

12
08 марта '15 в 19:13 2015-03-08 19:13 Resposta é dada por Steve Chambers em 8 de março '15 às 19:13 2015-03-08 19:13

Aqui estão três etapas: um comando que você pode chamar dentro do seu terminal e alterar o nome do ramo.

 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 

Se você precisar de mais: passo a passo, como alterar o nome do Git de um ramo é um bom artigo sobre isso.

12
10 мая '16 в 21:04 2016-05-10 21:04 a resposta é dada Hazarapet Tunanyan 10 de maio '16 às 21:04 2016-05-10 21:04

Para renomear a ramificação atual (exceto para um estado HEAD separado), você também pode usar este alias:

 [alias] mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1' 
11
02 сент. resposta dada dentuzhik 02 Set 2014-09-02 20:25 '14 às 20:25 2014-09-02 20:25

Como você não quer enviar uma ramificação para um servidor remoto, este exemplo será útil:

Digamos que você tenha uma ramificação existente chamada "my-hot-feature" e queira renomeá-la para "feature-15".

Primeiro você quer mudar o ramo local. Não poderia ser mais fácil:

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

Para obter mais informações, você pode visitar o local e remotamente renomear o ramo para Git .

7
27 окт. Responder Tanah 27 de out 2015-10-27 13:17 '15 às 13:17 2015-10-27 13:17

Se você quiser usar o SourceTree (que eu recomendo), você pode clicar com o botão direito do mouse em sua ramificação e selecionar "Renomear".

2019

git versão 2.9.2

Se você quiser alterar o nome da filial local em que você está localizado:

 git branch -m new_name 

Se você quiser alterar o nome de outro ramo:

 git branch -m old_name new_name 

Se você quiser alterar o nome de outra ramificação para um nome existente:

 git branch -M old_name new_name_that_already_exists 

Nota O último comando é destrutivo e renomeia sua ramificação, mas você perderá a ramificação antiga com esse nome e eles serão corrigidos, porque os nomes das ramificações devem ser exclusivos.

5
22 сент. Resposta dada por nikkypx em 22 Set 2016-09-22 03:03 '16 às 3:03 2016-09-22 03:03

Se você quiser alterar o nome da ramificação atual, execute:

 git branch -m [old_branch] [new_branch] 

Se você quiser excluir o ramo remoto antigo, execute:

 git push origin :[old_branch] 

Se você deseja excluir a ramificação remota antiga e criar uma nova ramificação remota, execute:

 git push origin :old_branch new_branch 
4
31 янв. a resposta é dada Arif 31 de janeiro 2017-01-31 18:53 '17 às 18:53 2017-01-31 18:53

Mudar um ramo localmente é bem simples! ...

Se você estiver em uma filial, você deseja alterar o nome, basta seguir estas etapas:

 git branch -m my_new_branch 

Caso contrário, se você estiver no master ou em qualquer outra ramificação , exceto aquela que deseja alterar, simplesmente execute:

 git branch -m my_old_branch my_new_branch 

Além disso, eu crio uma imagem abaixo para mostrá-la em ação na linha de comando. Nesse caso, você está no ramo master , por exemplo:

2019

Se você quiser renomear o repositório git -
git branch -m <oldname> <newname>
remova o ramo antigo
git push origin :old-name new-name
Corrigi-lo com

git commit <newname>
e depois clique usando o git push origin new_branch_name:master
Se você quiser verificar o status, use: -
git status
Se você quiser verificar, então: -
git checkout

0
26 авг. a resposta é dada por Vineet Jain 26 ago. 2017-08-26 17:18 '17 às 17:18 2017-08-26 17:18

Todos os itens acima falam do git branch -m . Claro, é fácil trabalhar com isso, mas pode ser um pouco difícil para mim lembrar de outro comando do git. Então eu tentei fazer o trabalho com a equipe que eu estava familiarizado. Sim, você poderia adivinhar.

Eu estou usando git branch -b <new_branch_name> . E se você não quiser manter o branch antigo, você pode git branch -D <old_branch_name> para removê-lo.

Eu sei que isso pode ser um pouco cansativo, mas é mais fácil de entender e lembrar. Espero que isso seja útil para você.

0
29 авг. Resposta dada por Dai Kaixian em 29 ago. 2017-08-29 05:16 '17 às 5:16 am 2017-08-29 05:16

git renomeando um ramo pode ser feito usando

  • git branch -m oldBranch newBranch

  • git branch -M oldBranch ExistingBranch

A diferença entre -m e -M

-m: se você tentar renomear sua ramificação com a saída do nome da ramificação com a ajuda de -m, isso causará um erro, informando que a ramificação já existe. Você precisa especificar um nome exclusivo.

mas

-M : , irá ajudá-lo a renomear forçadamente com o nome dado, mesmo que exista. portanto, o ramo existente irá sobrescrevê-lo completamente ...

Aqui está um exemplo de terminal git,

 mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master test * test1 mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test fatal: A branch named 'test' already exists. mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test mohideen@dev:~/project/myapp/sunithamakeup$ git branch master master0 new_master * test mohideen@dev:~/project/myapp/sunithamakeup$ 
0
01 сент. Resposta dada por Mohideen ibn Mohammed em 01 de set 2017-09-01 09:59 '17 às 9:59 2017-09-01 09:59

Outras questões sobre tags ou Ask a Question