1
resposta

Erro no push!

fiz tudo o que o professor fez, o comando (git push local master ) esta dando erro.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Anatalia! Tudo bom?

Desde já, peço perdão pela demora em retornar.

Dando uma olhadinha na imagem que você compartilhou com a gente, percebi algumas coisas que podem estar impedindo que você dê continuidade ao curso. Vamos olhar esses pontos mais de perto?

O uso do git init --bare

A princípio, o erro ao tentar utilizar o comando git push local master aconteceu por conta da estrutura de pastas, a qual ficou um pouco diferente daquela construída pelo instrutor. Em aula, foi preciso criar a pasta “servidor” e, dentro dela, executar git init --bare. Contudo, em seu caso, a execução do comando aconteceu dentro da pasta “anatalia”.

O objetivo do comando --bare é criar uma branch chamada BARE:master, que serve para dizer que aquele repositório não tem uma work tree, isto é, uma árvore de trabalho ou histórico de commits. Sendo assim, dizemos que se trata de um repositório "em branco", que serve apenas para enviar commits para ele.

Por esse motivo, quando você tentou utilizar git push local master dentro da pasta anatalia ocorreu um erro. Ações como commitar e dar push não funcionam em repositórios com parâmetro --bare.

Para resolver essa questão, podemos seguir o passo a passo abaixo:

  1. Entrar na pasta “servidor” e verificar se o repositório possui o parâmetro --bare. Se isso for verdade, teremos algo semelhante a imagem abaixo:

    Captura de tela do GIT. Tela de fundo preto com duas linhas de texto. Na primeira linha, é indicado o dispositivo em uso, que é precedido pelo caminho til_barra_git_hífen_e_hífen_github_barra_servidor; no fim da linha há o texto abre_parênteses_BARE_dois_pontos_master_fecha_parênteses . Na segunda linha, há o sinal de cifrão.

    Caso isso não seja verdade, precisaremos executar o comando abaixo, dentro da pasta “servidor”:

     git init --bare
  2. Dentro da pasta “anatalia” criar um arquivo teste vazio. Ele poderá ser excluído depois, então não se preocupe muito com o dele. Uma maneira simples de fazer isso é a partir do comando abaixo:

     touch arquivo_teste.txt
  3. Transformar o repositório “anatalia” em um repositório comum, o qual pode receber commits e dar push. O comando para isso é:

     git init
  4. Depois de inicializar o repositório mais uma vez, teremos que executar o comando para adicionar um repositório remoto.

     git remote add /C/Users/Anatalia/Documents/git-e-github/servidor/
  5. Finalizar o processo adicionando, commitando e dando push do arquivo teste que criamos anteriormente:

     git add arquivo_teste.txt
     git commit -m "Adicionando arquivo de teste."
     git push local master

Com isso, o comando git push local master volta a funcionar. Caso o erro persista, sugiro que você delete as pastas e tente realizar o passo a passo ensinado pelo instrutor novamente.

Adicionando o repositório “remote”

Nas etapas anteriores, tivemos que adicionar novamente o repositório remoto. Por conta disso, trouxe uma dica muito valiosa para quando estamos desenvolvendo um projeto.

Com intuito de evitar conflitos futuros utilizando o git, é importante que sigamos um padrão ao adicionar um repositório “remote”. Ao invés de escrever o caminho completo com C:, podemos somente usar as barras.

Nesse caso, para fazer isso, teríamos que excluir o repositório remoto e adicioná-lo novamente, da seguinte maneira:

git remote remove local
git remote add local /C/Users/Anatalia/Documents/git-e-github/servidor/

Não é necessário usar esses comandos agora, já que o repositório remoto já foi criado. Contudo, leve isso contigo para as próximas atividades, certamente que te ajudará bastante!

Anatalia, espero que você tenha entendido minha explicação e compreendido cada ponto que eu trouxe. Caso tenha dúvida acerca de algo que comentei ou ao longo dos seus estudos na plataforma, fico à disposição para te ajudar.

Até mais e ótimos estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.