git push resultado mestre de origem: REJECTED_OTHER_REASON

1

Eu fiz um repositório pessoal no meu servidor. Eu posso clonar isso. Eu recebo erros no push

refusing update ....

...

'receive.denyCurrentBranch' configuration variable to 'refuse'.

...

! [rmeote rejected] master -> master (branch is currently checked out)

error: failet to push some refs to 'ssh:// .....'

alguém pode ajudar a descobrir isso?

thx muito.

    
por Raffaello 13.03.2013 / 04:29

1 resposta

2

O problema é que você tem master feito check-out no servidor, portanto não é possível enviar master para o servidor. Existem três maneiras diferentes de lidar com isso:

O caminho certo é começar de novo com um repositório --bare se você for trabalhar remotamente. Repositórios nus não possuem um diretório "work tree" / working, o que significa que o repositório nunca terá nenhuma ramificação registrada no próprio servidor. Veja a FAQ do Git :

never push into a repository that has a work tree attached to it, until you know what you are doing

A maneira fácil de fazê-lo funcionar a partir de onde você está agora é simplesmente criar uma ramificação falsa e fazer o check-out no servidor, para que o diretório de trabalho no servidor seja definido como uma ramificação diferente de master nunca tentarei empurrar do cliente.

O Modo Difícil requer que você crie um acionador que redefina seu diretório de trabalho no servidor (você perderá quaisquer mudanças não confirmadas no servidor) (exemplo gatilho shell script aqui ) e configure o git para desabilitar o erro que você obteve com git config receive.denyCurrentBranch ignore . Isso é usado quando você está usando o git para uma página da Web que você está editando remotamente . Novamente, veja o FAQ acima, se você apenas desabilitar o erro e não configurar o gancho pós-recebimento, sua árvore de trabalho não será atualizada para você e você terá que git reset --hard no servidor se você quiser ver o erro arquivos que você empurrou para lá.

    
por 13.03.2013 / 05:46

Tags