Como posso mudar o nome de uma filial local do Git?
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
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>
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 ."
Para mudar o nome do seu ramo actual:
git branch -m <newname>
- muda para o ramo que precisa de ser renomeado
git branch -m <new_name>
git push origin :<old_name>
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
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
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.
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
Nenhum destes funcionou:
git checkout -dumb-name
git checkout -- -dumb-name
"
s, '
s e \
s também não ajudaram. Não funciona.
git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name
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]
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
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
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
- 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
- apaga o ramo remoto antigo e carrega no ramo local do novo nome.
git push origin :old-name new-name
- 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
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.
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.
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.
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:
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'
Se estiver disposto a usar SourceTree (que recomendo vivamente), pode carregar com o botão direito no seu ramo e escolher 'mudar o nome'.
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 ...".
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.
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.
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.
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
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:
-
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>
-
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>
-
Agora é hora de empurrar o novo ramo chamado on servidor:
git push -u <new-branch-name>
A mudança de nome do ramo Git pode ser feita usando:
git branch -m oldBranch newBranch
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$
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.
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.
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
- e depois empurrar usando:
- Se quiser verificar o estado, então use:
git status
- Se quiser verificar, use:
git checkout
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.
-
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
-
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
-
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:
-
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
-
Reinicie o ramo a montante para o seu novo ramo local e estará tudo pronto:
git push origin -u new-name