ti-enxame.com

Como renomeio um branch Git local?

Eu não quero renomear uma ramificação remota, como descrito em Renomear branch master para repositórios Git locais e remotos.

Como posso renomear uma ramificação local que não foi enviada para uma ramificação remota?

Caso você precise renomear remote branch também:
Como renomeio um nome de ramificação local e remota do Git

7584
Forrest

Se você quiser renomear uma ramificação enquanto apontava para qualquer ramificação, faça:

git branch -m <oldname> <newname>

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

git branch -m <newname>

Uma maneira de lembrar disso é que -m é para "move" (ou mv), que é como você renomeia os arquivos.

12186
siride
git branch -m old_branch_name new_branch_name

O comando acima mudará o nome da sua ramificação, mas você deve ter muito cuidado ao usar a ramificação renomeada, porque ela ainda se referirá à ramificação antiga do upstream associada a ela, se houver.

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

git Push Origin new_branch_name:master (agora as alterações irão para o branch master, mas o nome do seu branch local é new_branch_name)

Para mais detalhes, veja " Como renomear o nome da sua filial local no Git ."

387
Madhan Ayyasamy

Para renomear sua ramificação atual:

git branch -m <newname>
283
Jonathan

Aqui estão os passos para mudar o nome do ramo:

  1. Mudar para o ramo que precisa 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á apontando para seu próprio ref e não o mais antigo. Se você encontrar a referência para o ramo mais antigo, você precisa cancelar o upstream usando:

git branch --unset-upstream
226
Milind Anantwar

Renomear o ramo será útil quando sua filial estiver concluída. Então, novas coisas estão chegando, e você quer desenvolver na mesma ramificação em vez de excluí-la e criar a nova.

Da minha experiência, para renomear uma ramificação local e remota no Git, você deve seguir os seguintes passos.

Citando de Vários estados - Renomeia uma ramificação local e remota em git

1. Renomeie seu ramo local

Se você estiver no ramo que deseja renomear:

git branch -m new-name

Se você estiver em um ramo diferente:

git branch -m old-name new-name

2. Exclua a ramificação remota de nome antigo e envie a ramificação local de novo nome

git Push Origin :old-name new-name

3. Redefina a ramificação upstream da ramificação local de novo nome

git Push Origin -u new-name
161
trungk18

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

Pode-se renomear um branch com '-m' (move), mas é preciso ter cuidado, porque '-M' força a renomeação, mesmo se já existir um branch com o mesmo nome. Aqui está o trecho da página do manual 'git-branch':

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

93
Vanchev

1. Renomear

Se é o seu ramo atual, apenas faça

git branch -m new_name

Se for outro ramo que você deseja renomear

git branch -m old_name new_name

2. Acompanhe um novo ramo remoto

- Se a sua ramificação foi pressionada, depois de renomear você precisa deletá-la do repositório Git remoto e pedir ao seu novo local para rastrear uma nova ramificação remota:

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

Eu insensatamente nomeei um ramo começando com um hífen e, em seguida, verifiquei o mestre. Eu não queria delete meu ramo, eu tinha trabalho nele.

Nenhum desses funcionou:

git checkout -dumb-name

git checkout -- -dumb-name

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

Aqui está como eu finalmente consertei. Vá para a sua cópia de trabalho .git/refs/heads, encontre o nome do arquivo "-dumb-name", pegue o hash do branch. Em seguida, isso será feito, criará uma nova ramificação com um nome sã e excluirá a antiga.

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

Para renomear uma filial localmente:

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

Agora você também terá que propagar essas mudanças em seu servidor remoto.

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

git Push Origin :[old-branch]

Para empurrar mudanças de criação de novo ramo:

git Push Origin [new-branch]
60
aliasav

Renomeie o ramo usando este comando:

git branch -m [old_branch_name] [new_branch_name]

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

Se já houver uma ramificação e você quiser renomear 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
33
Hafiz Shehbaz Ali

Usuários avançados do Git podem renomear 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
31
Jethik

Renomear ramificação:

git branch -m old_branchname new_branchname

Aqui, o nome longo da opção -m é --move. Então nós também podemos usar:

git branch --move old_branchname new_branchname

Se você quiser renomear a ramificação atual, use isto:

git branch -m new_branchname

ou

git branch -move new_branchname

Se você quiser mover essas alterações para remoto, use o seguinte.

git Push Origin :old_branchname new_branchname

Isso excluirá a ramificação remota old_branchname e enviará a ramificação local new_branchname.

git Push Origin -u new_branchname

Isso irá redefinir o ramo upstream para o ramo local new_branchname.

30
Ajmal sha
  1. Renomeie seu ramo local.

Se você estiver no ramo que deseja renomear:

git branch -m new-name

Se você estiver em um ramo diferente:

git branch -m old-name new-name
  1. Exclua a ramificação remota de nome antigo e envie a ramificação local de novo nome.

git Push Origin :old-name new-name

  1. Redefina a ramificação upstream da ramificação local de novo nome. Mude para o ramo e depois:

git Push Origin -u new-name

Ou para uma maneira rápida de fazer isso, você pode usar estas três etapas:

# Renomeia o branch localmente

git branch -m old_branch new_branch  

# Apaga a ramificação remota antiga

git Push Origin :old_branch  

# Pressione a nova ramificação, defina a ramificação local para rastrear o novo controle remoto

git Push --set-upstream Origin new_branch   

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

26
badarshahzad

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

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 de ramificação do Gité um bom artigo sobre isso.

22
Hazarapet Tunanyan

Provavelmente, como mencionado por outros, isso será uma incompatibilidade de maiúsculas e minúsculas na nomeação de ramificação.

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

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

Então você tem que fazer um passo intermediário:

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

Nada mais.

21
P4C

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

Você também pode renomear localbranch, mas continua rastreando o 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 git Push, a referência remota old_branch é atualizada com seu new_branch local.

Você tem que saber e lembrar esta configuração. Mas pode ser útil se você não tem escolha para o nome da ramificação remota, mas você não gosta (oh, quero dizer, você tem um muito bomrazão para não gostar!) e prefira um nome mais claro para sua filial local.

Jogando com a configuração de busca, você pode até renomear a referência remota local. isto é, ter um ponteiro refs/remote/Origin/new_branchref para o ramo, que é de fato o old_branch em Origin. No entanto, eu desanimo isso, para a segurança de sua mente.

19
Pierre-Olivier Vares

Se você estiver disposto a usar SourceTree (o que eu recomendo fortemente), você pode clicar com o botão direito do mouse em sua ramificação e escolher 'Renomear'.

 enter image description here

17
Marcin Szymczak

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

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

Mudando o ramo localmenteé bem fácil ...

Se você está no ramo para o qual deseja alterar o nome, basta fazer isso:

git branch -m my_new_branch

Caso contrário, se você estiver em master ou qualquer outra ramificaçãodiferente daquela que você gostaria de alterar o nome, simplesmente faça:

git branch -m my_old_branch my_new_branch

Além disso, eu crio a imagem abaixo para mostrar isso em ação em um linha de comando. Nesse caso, você está na ramificação master, por exemplo:

Change branch name locally

16
Alireza

Outra opção é não usar a linha de comando. Clientes GUI do Git, como SourceTree tiram muito da curva de aprendizado/dor sintática que faz com que questões como essa estejam entre as mais visualizadas no Stack Overflow.

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

15
Steve Chambers

Como você não deseja enviar a 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 seu ramo local. Isso não poderia ser mais fácil:

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

Para obter mais informações, você pode visitarRenomeando local e remotamente uma ramificação no Git.

13
Tanah

versão do Git 2.9.2

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

git branch -m new_name

Se você quiser alterar o nome de um ramo diferente:

git branch -m old_name new_name

Se você quiser alterar o nome de uma ramificação diferente para um nome que já existe:

git branch -M old_name new_name_that_already_exists

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

10
nikkypx

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
8
Arif

Uma maneira simples de fazer isso:

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 this .

8
Nomade

Apenas duas etapas para replicar a alteração no nome em remote e no GitHub:

Etapa 1 git branch -m old_branchname new_branchname

Etapa 2 git Push Origin :old_branchname new_branchname

7
Harry_pb
git branch -m old_branch_name  new_branch_name

ou

git branch --move old_branch_name new_branch_name
4
user128364

Para os usuários do Git GUI, não poderia ser muito mais simples. Na GUI do Git, escolha o nome da ramificação na lista suspensa na caixa de diálogo "Renomear Ramificação" criada no item de menu Ramificação: Renomear, digite um Novo Nome e clique em "Renomear". Eu destaquei onde encontrar a lista suspensa.

 Rename a local Git branch

4
user3070485

Todas as respostas anteriores estão falando sobre git branch -m. Claro, é fácil de operar, mas para mim, pode ser um pouco difícil lembrar de outro comando do Git. Então eu tentei fazer o trabalho pelo comando que eu estava familiarizado. Sim, você pode adivinhar.

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

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

3
Dai Kaixian

A renomeação da filial do 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 você está tentando renomear sua ramificação com um nome de ramificação existente usando -m . Ele irá gerar um erro dizendo que o ramo já existe. Você precisa dar um nome único.

Mas,

-M: Isso ajudará você a forçar renomear com um determinado nome, mesmo que ele exista. Então, uma ramificação existente irá substituir completamente ...

Aqui está um exemplo de terminal 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
Silent Spectator

Se você quiser:

  • Renomeie o repositório Git, execute: git branch -m <oldname> <newname>
  • Exclua a ramificação antiga por: git Push Origin: old-name new-name
  • Confirme usando: git commit <newname>
    • e depois empurre usando: git Push Origin new_branch_name:master
  • Se você quiser verificar o status, use: git status
  • Se você quiser dar uma olhada, use: git checkout
2
Vineet Jain

No PhpStorm:

VCS → Git → Filiais ... → Filiais locais →YOUR_BRANCH→ Renomear

1
AlexSi

Renomeie o ramo atual

git branch -m <newbranchname>

ou

git branch -m oldbranchname newbranchname
0
panthari