git - remote - ver branch remotos




Como renomeio um branch Git local? (20)

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

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?


  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


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.


As respostas até agora foram corretas, mas aqui estão algumas informações adicionais: é possível renomear uma ramificação com '-m' (mover), mas é preciso ter cuidado, porque '-M' força a renomeação, mesmo que exista uma ramo com o mesmo nome já. 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 a <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.


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 .


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


PHPStorm:

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


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'

Para renomear sua ramificação atual:

git branch -m <newname>

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.


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ê 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".


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

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

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.


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

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$ 

git versão 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 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.


git branch -m old_branch_name  new_branch_name

ou

git branch --move old_branch_name new_branch_name




git-branch