git-branch commit - Como renomeio um branch Git local?




to rename (25)

Não quero renomear uma ramificação remota, conforme descrito em Renomear Ramificação Principal para os Repositórios Git Locais e Remotos .

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


Answers

Usuários avançados 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

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

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 redefinirá a ramificação upstream da ramificação local new_branchname.


Como você não quer 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 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 visitar localmente e remotamente renomeando uma ramificação no Git .


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 vários estados - Renomear uma ramificação local e remota no git

1. Renomeie seu ramo local

Se você está 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

Se você quiser:

  • Renomeie o repositório git, execute: git branch -m <oldname> <newname>
  • Excluir ramificação antiga por: git push origin: old-name new-name
  • Confirme-o 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

Todos os itens acima 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 git. Então eu tentei abaixar o trabalho pelo comando que eu estava familiarizado. Sim, você pode adivinhar.

Eu uso o 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ê.


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

Você também pode renomear ramificação local , 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 o git push , o ref remoto old_branch é atualizado com o seu new_branch local.

Você precisa conhecer e lembrar dessa 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 uma razão muito boa para não gostar!) E prefere um nome mais claro. nome para o seu ramo local.

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


Para renomear uma filial localmente:

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

Agora você também terá que propagar essas alterações 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]

Eu insensatamente nomeei um ramo começando com um hífen e, em seguida, verifiquei o mestre. Eu não queria deletar minha filial, tinha trabalho nela.

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á verificado, 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

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 .


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


Mudar o ramo localmente é muito fácil ...

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

git branch -m my_new_branch

Caso contrário, se você estiver no master ou em qualquer outro ramo diferente daquele que você gostaria de mudar 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 uma linha de comando , neste caso, você está no branch master , por exemplo:


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 do branch Git é um bom artigo sobre isso.


  1. Renomeie seu ramo local.

Se você está 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:

# Renomear ramo localmente

git branch -m old_branch new_branch  

# Exclua o ramo remoto antigo

git push origin :old_branch  

# Empurre o novo ramo, defina ramificação local para rastrear o novo controle remoto

git push --set-upstream origin new_branch   

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


Se você quiser alterar o nome do ramo 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ê quiser excluir a ramificação remota antiga e criar uma nova ramificação remota, execute:

git push origin :old_branch new_branch

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

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

PHPStorm:

VCS-> Git-> Filiais ...-> Filiais Locais- > _your_branch_ -> Renomear


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 sua ramificação foi pressionada, depois de renomear você precisa excluí-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

Outra opção é não usar a linha de comando. Os clientes GUI do Git, como o SourceTree tiram grande parte da curva de aprendizado / dor sintática que faz com que perguntas como essa sejam as mais vistas no .

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


Para renomear sua ramificação atual:

git branch -m <newname>

git branch rename pode ser feito usando

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

Diferença entre -m e -M

-m: se você estiver tentando renomear sua ramificação com o nome da ramificação usando -m, isso gerará um erro, dizendo que branch já existe. você precisa dar um nome único.

mas,

-M: isso irá ajudá-lo a forçar a renomeação com nome próprio, mesmo que ele exista. então a filial existente irá substituir completamente ...

Aqui está o exemplo do 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$ 

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.


Renomeie o ramo usando este comando:

git branch -m [old_branch_name] [new_branch_name]

-m : Ele 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

git branch -m old_branch_name  new_branch_name

ou

git branch --move old_branch_name new_branch_name

git --branch <branchname> <url>

Mas a conclusão do bash não tem essa chave: --branch

Apreciar.





git git-branch