Não consigo remover origin/master
do meu servidor. Não faço ideia do porquê.
A mensagem de erro é a seguinte
remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error:
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error:
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To [email protected]:/export/home/a/elabshare/git/ID-check.git
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to '[email protected]:/export/home/a/elabshare/git/ID-check.git'
Não, eu estou não usando Github .
master
e o fizemos em um ramo temporal que agora deveria se tornarmaster
. O único problema é que não sei por que não consigo matar o mestre no servidor.master
paraorigin/master
, efetivamente substituindo o antigo com o novo.Respostas:
Curiosidade: até mesmo repositórios remotos estão em uma filial. Você está sendo rejeitado porque está tentando excluir o ramo que sua origem "fez check-out" no momento.
Se você tiver acesso direto ao repositório, basta abrir um diretório de relatório bare shell e usar o bom e velho velho
git branch
para ver em qual origem da filial está atualmente. Para alterá-lo para outro ramo, você precisa usargit symbolic-ref HEAD refs/heads/another-branch
.Se você estiver usando um serviço como o Github ou o Gitorious, precisará usar a interface do usuário que a ferramenta fornece para fazer a alteração (consulte esta resposta para saber como fazer isso em ferramentas comuns).
fonte
refs
em Git ! Muito obrigado! (Sim, eu sabia sobre como lidar com isso no Github , mas não no nosso servidor pessoal.)Em vez de realmente remover o mestre do servidor, você pode substituí-lo assim:
Isso substituirá o mestre pelo conteúdo de outras ramificações, mas ainda será chamado de mestre no controle remoto. E então você pode conferir o master como master no seu local.
fonte
master
ramo, e a resposta aceita explica o porquê.