Gostaríamos de impor uma nova política para nossos projetos de que o branch master agora seja chamado de branch de lançamento para garantir que seja mais claro como o branch deve ser usado. Naturalmente, também teremos desenvolver e lançar branches candidatos.
Eu entendo que posso renomear o branch master localmente simplesmente usando o seguinte:
git branch -m master release
No entanto, isso ocorre apenas localmente. Mesmo se eu empurrar isso para o remoto, o HEAD ainda aponta para o branch master remoto. Eu quero me livrar do branch master completamente e tornar o branch local padrão no clone inicial, ser liberado.
Como posso conseguir isso?
Parece que, como a origem está em um servidor Gitorious , recebo erros ao excluir o branch master. Estou tentando ver agora se é possível mudar isso para que o branch padrão seja 'release'.
fonte
git branch
agora suporta um--move
sinalizador git-scm.com/docs/git-branch#Documentation/git-branch.txt---moveRespostas:
Observe que, se estiver usando o GitHub, você precisará primeiro alterar seu branch "padrão" no GitHub após a etapa 3:
Em seu repositório em github.com, vá em Configurações → Ramificações → Ramificação padrão . Altere-o para liberar e execute o restante das etapas.
fonte
! [remote rejected] branch (deletion of the current branch prohibited)
acontecerá com o Bitbucket. Mude o "Repositório principal" na tela de configurações (sob o ícone de engrenagem).Confira seu ramo mestre
Crie seu branch de lançamento e mude para ele:
Envie isso para o servidor
Exclua a referência do branch master no servidor
Exclua o branch master local
fonte
Observação: essa resposta é destinada a servidores Git auto-hospedados nos quais você tem acesso à linha de comando.
Como tentar excluir o
remote master
de um cliente de fato não é permitido e presumo que proibirdenyDeleteCurrent
faça sentido, não gostaria de alterar essa configuração.No entanto, descobri que a maneira mais fácil de renomear seu master se você tiver acesso à linha de comando para o servidor remoto é executar o comando rename diretamente no remoto.
Isso funcionou para mim:
git branch -m master release
Agora, o repositório remoto usa
release
como seu branch padrão e qualquer umgit clone
nesse repositório de qualquer cliente fará o check-out do branch de lançamento por padrão.É muito útil também após configurar um repositório vazio para configurá-lo de acordo com suas necessidades.
fonte
Como afirmado anteriormente por outros, o problema aqui é Gitorious, que não permite que você exclua o branch HEAD por padrão. Você tem duas opções para contornar esse problema. Uma é fazer login no servidor Gitorious (com ssh), encontrar o repositório Git no servidor de arquivos e adicionar:
para a configuração.
Uma opção mais fácil é apenas alterar o branch padrão. Vá para o seu repositório na interface da web do Gitorious, pressione "Editar repositório" e defina "Cabeçalho Alterar o ref simbólico, o cabeçalho no repositório Git aponta para:". Depois de fazer isso, você pode excluir o branch master.
fonte
Se você tiver esse problema com o GitHub , siga as etapas até excluir o branch no remoto. Não vai deixar você fazer isso. Em seguida, efetue login na interface da Web e, no repositório, vá em Configurações → Ramificações → Ramificação padrão . Mude para a nova ramificação e execute o resto das etapas.
fonte
Idealmente, você deseja configurar o rastreamento, então faça o seguinte:
Agora, você quer deletar os outros?
Simples!
fonte
Uma vez que você terminou de renomear os ramos, definir o HEAD
release
para remotoEntão, para deletar o
master
branch no remoto, você teria que ser o administrador, pelo menos no GitHub. Por favor, consulte esta postagem para mais informações.fonte