Como posso mudar o nome de uma filial local do Git?

Não quero mudar o nome de um ramo remoto, como descrito em Mudar o nome da ramificação-mestre para os repositórios de Git locais e remotos.

Como posso mudar o nome de um ramo local que não foi empurrado para um ramo remoto?

no caso de precisar de mudar o nome também do ramo remoto:
Como posso mudar o nome de um git local e de um ramo remoto

Author: Sazzad Hissain Khan, 2011-07-06

30 answers

Se quiser mudar o nome de um ramo, apontando para qualquer ramo, Faça:

git branch -m <oldname> <newname>

Se quiser mudar o nome do ramo actual, pode fazer:

git branch -m <newname>

Uma maneira de lembrar isto é -m é para "mover" (ou mv), que é como você muda o nome dos arquivos. Adicionar um pseudónimo também pode ajudar. Para isso, execute o seguinte:

git config --global alias.rename 'branch -m'

Se estiver no Windows ou noutro sistema de ficheiros insensível a maiúsculas, e só houver alterações de capitalização no nome, terá de usar -M, caso contrário, o git irá lançar ramo já existe erro:

git branch -M <newname>
 14767
Author: siride, 2020-04-23 16:24:13
git branch -m old_branch_name new_branch_name

O comando acima irá mudar o nome do seu ramo, mas você tem que ter muito cuidado com o ramo renomeado, porque ele ainda se referirá ao antigo ramo upstream associado a ele, se houver.

Se quiser introduzir algumas alterações no master depois de a sua ramificação local mudar de nome para new_ branch_name (nome do exemplo):

git push origin new_branch_name:master (agora as alterações irão para a ramificação principal, mas o seu nome da ramificação local é new_ branch_name)

Para mais detalhes, veja " Como mudar o seu nome nome da sucursal local no Git ."

 487
Author: Madhan Ayyasamy, 2016-05-14 20:18:59

Para mudar o nome do seu ramo actual:

git branch -m <newname>
 364
Author: Jonathan, 2013-06-20 15:05:04
Aqui estão os passos para mudar o nome do ramo:
  1. muda para o ramo que precisa de ser renomeado
  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): certifique-se de executar o comando git status e verifique se o ramo recém-criado está a apontar para o seu próprio árbitro e não para o mais antigo. Se encontrar a referência ao ramo mais antigo, terá de desligar o ramo a montante usando:

git branch --unset-upstream
 326
Author: Milind Anantwar, 2019-03-23 11:10:34

Mudar o nome do ramo será útil assim que o seu ramo estiver terminado. Então coisas novas estão vindo, e você quer desenvolver no mesmo ramo em vez de apagá-lo e criar o novo.

Pela minha experiência, para mudar o nome de um ramo local e remoto no Git você deve fazer os seguintes passos.

A citar de vários Estados - muda o nome de um ramo local e remoto em git

1. Mudar o nome da sua sucursal local

Se estás no ramo que queres para mudar o nome:

git branch -m new-name

Se estiver num ramo diferente:

git branch -m old-name new-name

2. Apaga o ramo remoto antigo e carrega no ramo local do novo nome

git push origin :old-name new-name

3. Repor a ramificação a montante para a ramificação local de novo nome

git push origin -u new-name
 244
Author: trungk18, 2017-03-04 22:14:45

As respostas até agora foram corretas, mas aqui estão algumas informações adicionais:

Pode-se mudar o nome seguro de um ramo com '- m' (movimento), mas tem-se de ter cuidado com '- M', porque força o nome, mesmo que já exista um ramo com o mesmo nome. Aqui está o trecho da página do homem 'git-branch':

Com a opção A-M ou-M, <oldbranch> será renomeado para <newbranch>. Se <oldbranch> tivesse um reflog correspondente, ele seria renomeado para match <newbranch>, e um item reflog é criado para recordar o nome do ramo. Se <newbranch> Existe, - M deve ser usado para forçar a mudança de nome a acontecer.

 129
Author: Vanchev, 2019-10-04 18:16:31

1. Mudar o nome

Se é o seu ramo actual, basta fazer

git branch -m new_name

Se for outro ramo que queira mudar o nome

git branch -m old_name new_name

2. Seguir um novo ramo remoto

- Se o seu ramo foi adiado, então, depois de mudar o nome, terá de o apagar do repositório Git remoto e pedir ao seu novo local para seguir um novo ramo remoto:

git push origin :old_name
git push --set-upstream origin new_name
 103
Author: Oss, 2018-04-05 23:15:57
Dei um nome tolo a um ramo a partir de um hífen, e depois fui ver o mestre. Eu não queria apagar o meu ramo, tinha trabalho nele.

Nenhum destes funcionou:

git checkout -dumb-name

git checkout -- -dumb-name

"s, 's e \ s também não ajudaram. Não funciona.

Eis como finalmente o arranjei. Vai à tua cópia de trabalho .git/refs / heads, encontre o nome do Arquivo "-Nome-burro", obter o hash do ramo. Então isto vai verificar, fazer um novo branch com um nome são, e apaga o antigo.
git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
 80
Author: Samuel Meacham, 2013-11-09 07:31:35

Mudar o nome de um ramo localmente:

git branch -m [old-branch] [new-branch]
Agora você terá que propagar essas alterações no seu servidor remoto também.

Para empurrar as alterações do ramo antigo apagado:

git push origin :[old-branch]

Para adiar as alterações da criação de um novo ramo:

git push origin [new-branch]
 75
Author: aliasav, 2015-08-20 06:39:00

Apenas três passos para replicar a mudança de nome em {[[0]} assim como em GitHub:

Passo 1 git branch -m old_branchname new_branchname

Passo 2 git push origin :old_branchname new_branchname

Passo 3 git push --set-upstream origin new_branchname

 75
Author: Harry_pb, 2020-03-08 03:54:43

Mudar o nome do ramo com este comando:

git branch -m [old_branch_name] [new_branch_name]

-m: muda/muda o nome do ramo. Se já existe um branch, você terá um erro.

Se já existir um ramo e quiser mudar o nome com esse ramo, use:

 git rename -M [old_branch_name] [new_branch_name]

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

git branch --help

Ou

man git branch
 45
Author: Hafiz Shehbaz Ali, 2017-03-04 22:07:57

Os utilizadores avançados do Git podem mudar o nome manualmente usando:

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
 42
Author: Jethik, 2019-04-11 12:19:49
  1. muda o nome da tua filial local.

Se você está no ramo você quer mudar o nome:

git branch -m new-name

Se estiver num ramo diferente:

git branch -m old-name new-name
  1. apaga o ramo remoto antigo e carrega no ramo local do novo nome.

git push origin :old-name new-name

  1. reinicia o ramo a montante para o ramo local do novo nome. Muda para o ramo e depois:

git push origin -u new-name

Ou para uma maneira rápida de fazer isso, você pode usar estes 3 passos:

# mudar o nome da ramificação localmente

git branch -m old_branch new_branch  

# apagar o ramo remoto antigo

git push origin :old_branch  

# carregue na nova ramificação, configure a ramificação local para seguir o novo remoto

git push --set-upstream origin new_branch   

Referência: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

 38
Author: badarshahzad, 2018-09-14 20:05:22

Aqui estão três passos: um comando que você pode chamar dentro do seu terminal e mudar 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 necessitar de mais: passo a Passo, Como mudar o nome do ramo Git é um bom artigo sobre isso.

 30
Author: Hazarapet Tunanyan, 2017-03-04 22:12:53

Provavelmente como mencionado por outros, este será um caso desajustado na nomeação de branch.

Se você tem tal situação, eu posso adivinhar que você está no Windows que também vai levá-lo a:

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

Depois tens de fazer um passo intermédio:

$ git branch -m temporary
$ git branch -m casesensitive
Nada mais.
 28
Author: P4C, 2017-03-04 22:08:53

Tentando responder especificamente à pergunta (pelo menos o título).

Você também pode mudar o nome local, mas continua a seguir o nome antigo no remoto.

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch
Agora, quando você executar git push, o Remote old_branch ref é atualizado com o seu local new_branch.

Você tem que conhecer e lembrar esta configuração. Mas pode ser útil se você não tiver a escolha para o nome do ramo remoto, mas você não gosta (Oh, quero dizer, você tem um muito boa razão para não gostar !) e preferem um nome mais claro para o seu ramo local.

Se jogar com a configuração de obtenção, poderá até mudar o nome da referência remota local. I. E., tendo um ponteiro de ref para o ramo, isto é, na verdade, o old_branch em origin. No entanto, desencorajo-o muito, pela segurança da sua mente.

 26
Author: Pierre-Olivier Vares, 2016-05-19 10:39:47

Mudar o ramolocalmente é bastante fácil...

Se você está no ramo que você quer mudar o nome para, simplesmente faça isso:

git branch -m my_new_branch

Caso contrário, se estiver em master ou qualquer outro ramo para além daquele que gostaria de mudar o nome, basta fazer:

git branch -m my_old_branch my_new_branch

Também, eu crio a imagem abaixo para mostrar isto em acção numa linha de comandos. Neste caso, você está no ramo master, por exemplo:

Change branch name locally

 24
Author: Alireza, 2019-03-23 11:15:53

Para mudar o nome da sucursal actual (excepto para o estado de cabeça solta), Pode também usar este nome alternativo:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
 22
Author: dentuzhik, 2019-03-23 11:07:53

Se estiver disposto a usar SourceTree (que recomendo vivamente), pode carregar com o botão direito no seu ramo e escolher 'mudar o nome'.

enter image description here

 21
Author: Marcin Szymczak, 2018-09-06 07:03:02

Outra opção é não usar a linha de comandos. Clientes Git GUI como SourceTree tiram grande parte da curva sintática de aprendizagem / dor que faz com que questões como esta estejam entre as mais vistas no fluxo de pilha.

No SourceTree, carregue com o botão direito em qualquer ramo local da área "Branches" à esquerda e seleccione "mudar o nome ...".

 20
Author: Steve Chambers, 2017-03-04 22:06:43

Uma maneira simples de o fazer:

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

Para mais, veja este.

 18
Author: Nomade, 2019-03-23 11:26:02

Dado que não quer enviar a ramificação para um servidor remoto, este exemplo será útil:

Digamos que tem um ramo existente chamado "my-hot-feature", e quer renomeá-lo para "feature-15"." Primeiro, queres mudar a tua filial local. Isto não podia ser mais fácil.
git branch -m my-hot-feature feature-15
Para mais informações, pode visitar mudar o nome local e remotamente de um ramo no Git.
 16
Author: Tanah, 2017-03-04 22:10:24

Versão Git 2.9.2

Se quiser mudar o nome do ramo local em que está:

git branch -m new_name

Se quiser mudar o nome de um ramo diferente:

git branch -m old_name new_name

Se quiser mudar o nome de um ramo diferente para um nome que já existe:

git branch -M old_name new_name_that_already_exists

Nota: O último comando é destrutivo e vai mudar o nome do seu branch, mas você vai perder o branch antigo com esse nome e aqueles commits porque os nomes do branch devem ser únicos.

 14
Author: nikkypx, 2019-03-23 11:14:24

Se quiser mudar o nome do ramo actual, execute:

git branch -m [old_branch] [new_branch]

Se quiser apagar o ramo remoto antigo, execute:

git push origin :[old_branch]

Se quiser apagar o antigo ramo remoto e criar um novo ramo remoto, execute:

git push origin :old_branch new_branch
 11
Author: Arif, 2017-02-08 06:23:57

Na verdade você tem três passos porque a ramificação local tem um duplicado no servidor então temos um passo para o local em dois passos no servidor:

  1. mudar o nome local: basta usar o seguinte comando para mudar o nome do seu ramo actual, mesmo que o tenha verificado:
    git branch -m <old-branch-name> <new-branch-name>
    
  2. apaga o servidor um: usa o seguinte comando para apagar a ramificação do nome antigo no servidor:
    git push <remote-name[origin by default]> :<old-branch-name>
    
  3. Agora é hora de empurrar o novo ramo chamado on servidor:
    git push -u <new-branch-name>
    
 7
Author: AmerllicA, 2020-08-05 08:24:14

A mudança de nome do ramo Git pode ser feita usando:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

A diferença entre m e -M:

-m: se está a tentar mudar o nome do seu ramo com um nome de ramo existente usando - m . Ele vai levantar um erro dizendo que o ramo já existe. Tens de dar um nome único.

Mas,

-m: isto vai ajudá-lo a forçar a renomear com um nome próprio, até mesmo existe. Então um ramo existente irá sobrepor-se inteiramente com ele...

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$
 6
Author: Mohideen bin Mohammed, 2019-03-23 11:23:16

Para os utilizadores de GUI Git não podia ser muito mais simples. Na GUI do Git, escolha o nome da ramificação na lista na janela" mudar o nome da ramificação "criada a partir da ramificação do item do menu:Mude o nome, Escreva um novo nome e carregue em"mudar o nome". Destaquei onde encontrar a lista.

Rename a local Git branch

 5
Author: Ivan, 2018-09-03 15:58:53

Todas as respostas anteriores estão a falar de {[[0]}. Claro, é fácil de operar, mas para mim, pode ser um pouco difícil lembrar-me de outro comando Git. Então eu tentei fazer o trabalho feito pelo comando que eu estava familiarizado. Sim, deves ter adivinhado.

Eu uso git branch -b <new_branch_name>. E se você não quiser salvar o ramo Antigo Agora você pode executar git branch -D <old_branch_name> para removê-lo.

Sei que pode ser um pouco entediante, mas é mais fácil de entender e lembrar. Espero que seja útil para ti.
 4
Author: Dai Kaixian, 2019-03-28 06:53:19

Se quiseres:

  • mudar o nome do repositório Git, executar: git branch -m <oldname> <newname>
  • apaga o ramo antigo por: git push origin: old-name new-name
  • Commit it using: git commit <newname>
    • e depois empurrar usando: git push origin new_branch_name:master
  • Se quiser verificar o estado, então use: git status
  • Se quiser verificar, use: git checkout
 3
Author: Vineet Jain, 2019-03-23 11:16:59
Antes de começarmos, certifique-se que selecionou o ramo que deseja mudar o nome:
git checkout old-name

Se quiser ver todos os seus ramos locais, use o seguinte comando:

git branch --list
Quando estiveres livre, segue estes passos.
  1. Se usar o comando Git mudar o nome da ramificação, irá necessitar que adicione uma opção -m ao seu comando:

    git branch -m new-name
    
  2. Você também pode mudar o nome de um ramo local de outro ramo usando os seguintes dois comandos:

    git checkout master
    
    git branch -m old-name new-name
    
  3. Por último, este comando irá listar todas as ramificações locais e remotas para verificar se foi renomeado:

    git branch -a
    

Embora não seja possível mudar o nome de um ramo remoto directamente, o processo de mudar o nome de um envolve estes três passos fáceis:

  1. Para iniciar, terá de mudar o nome de um ramo local, seguindo os passos anteriores. 2.Depois apagar o ramoantigo e empurrar o Um novo. Você pode fazer isso facilmente com os seguintes comandos:

     git push origin --delete old-name
     git push origin :old-name new-name
    
  2. Reinicie o ramo a montante para o seu novo ramo local e estará tudo pronto:

    git push origin -u new-name
    
 3
Author: S. Hesam, 2020-11-14 05:31:29