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