Oi, Samuel! Tudo bom contigo?
Este erro nos é apresentado quando tentamos fazer push
para um repositório que não possui o parâmetro --bare
. Por meio deste parâmetro, indicamos qual será o nosso repositório central, isto é, aquele que receberá os commits de todos os outros lugares.
Para conseguir realizar o push
, portanto, teremos que:
Ir para a pasta de nome “servidor”:
cd "C:/Users/User/Desktop/servidor/"
Certificar-se de que “servidor” não é repositório “bare”: à esquerda do caminho da pasta, podemos verificar se a flag “bare” está presente, como mostra a imagem abaixo:
Caso não haja a flag “bare”, significa dizer, portanto, que “servidor” foi inicializado como um repositório comum. Para torná-lo um repositório remoto, podemos seguir com os passos abaixo:
Excluir o arquivo .git da pasta “servidor”: essa pasta é criada ao executar o comando git init
. Quando fazemos somente isso, perdemos a liberdade de executar comandos como o git push
(só possível em repositórios com a flag --bare
). Por padrão, a pasta “.git” fica oculta quando tentamos vê-la no explorador de arquivos. Caso esteja utilizando o sistema operacional Windows, para excluí-la, teremos que clicar em “Visualizar”, selecionar a opção “Mostrar” e, por fim, clicar em “Itens ocultos”, como mostro abaixo:
Feito isso, “.git” irá aparecer na pasta “servidor”. Basta selecioná-lo e excluí-lo;
Acessar a pasta servidor, dentro do Git Bash, e então inicializá-la novamente (desta vez adicionando o parâmetro --bare
), desta forma:
git init --bare
Feito isso, já é possível retornar à pasta em que se estava tentando fazer o push
e, então, executar o comando que leva todas as novas modificações para o nosso repositório remoto (”servidor”):
git push local master
Samuel, espero tê-lo ajudado. Caso surja alguma dúvida após minha explicação ou ao longo dos seus estudos, fico à disposição para ajudá-lo.
Até mais!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.