6
respostas

[Bug] Falha na conexão com GitHub

Olá!

Não consigo estabelecer essa conexão do repositório local com GitHub ainda? Esse retorno dos erros não ajuda muito !!

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Consegui fazer o git pull antes do git push então já havia estabelecido a conexão com GitHub, mas daí pra frente???

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

6 respostas

Olá Rubens!

Para corrigir esses erros decorrentes de alterações no repositório remoto que não estão refletidas no seu repositório local, siga os seguintes passos, sendo que alguns deles você provavelmente já realizou!

O primeiro comando, é para configurar seu branch local main para rastrear o branch remoto main, seguindo a dica do terminal execute o seguinte comando:

git branch --set-upstream-to=origin/main main

Depois da um "pull" para ver se ta tudo certinho e alinhado:

git pull 

Caso haja conflitos, você precisará resolvê-los manualmente. O Git vai te mostrar quais arquivos estão em conflito e você deverá editar esses arquivos para resolver os conflitos. Após resolver os conflitos, adicione os arquivos resolvidos:

git add .
  1. Faça um novo commit:

    git commit -m "Resolvendo conflitos"
    
  2. Tente fazer o push novamente:

    git push origin main
    

Se você ainda encontrar problemas, pode tentar forçar o push, mas cuidado: isso pode sobrescrever mudanças no repositório remoto. Use essa opção apenas se tiver certeza de que não perderá trabalho importante:

git push --force origin main

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

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

Olá !

Eu realizei o git push --force origin main Mas o arquivo que estão lá no GitHub: [https://github.com/Rubferreira/aluraplus ]

não aparece em meu repositório local?!! Que no caso é o Readme.

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Mas cometi um falha deletei esse arquivo : aluraplus/.vscode/settings.json lá no meu GitHub

Olá Rubens!

Você utilizou o "git push --force origin main", acabou subcrevendo no repositório remoto ele é "bem forte", e acaba passando por cima do histórico como eu tinha mencionado anteriormente "cuidado: isso pode sobrescrever mudanças no repositório remoto.", mas não se preocupe, vamos fazer assim e vejamos se funciona:

Use o seguinte comando para tentar recuperar o penúltimo commit:

git revert <hash-do-commit>

No seu caso, vou tentar copiar o código que aparece no print em que você me enviou acima, usando o "git log" temos acesso ao hash e será este aqui:

git revert 0f399df580590382ad4401d4d46f6d4b4031435f

Se tiver errado por favor copie o último que diz "Criando e Inserindo..." do lado da palavra commit:

Por fim tente dar um "git push novamente".

Por fim, no repositório local também não aparece o seu README.

Espero ter ajudado!

Beleza Victor!

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Apliquei o comando de reversão, e agora mostra tantas opções? Só queria recuperar os arquivos e sincronizar com o GitHub.

Olá Rubens!

O comando git revert tenta restaurar o que foi feito anteriormente por você. Analisando as imagens, a maioria desses arquivos não existia no momento em que aquele commit(mencionado no tópico acima) foi criado, ou seja, você fez quase tudo depois desse commit.

Você reverteu o seu primeiro commit, mas peço que refaça os passos anteriores mencionados, passando o hash anterior, do seu commit que é o que está no seu github atualmente.

git revert 61b67c02aea0245e779ca7fd5d73c3e7427e48c8 

Esse comando ainda sim, faz o processo de reversão mas para um commit mais recente.

Se esses comandos parecerem complexos – e de fato são –, mas é maneira, de usar o Git e o GitHub para reparar e recuperar seu repositório. A maneira mais fácil, caso prefira, você pode simplesmente recriar o arquivo que foi deletado e, em seguida, adicionar, commitar e fazer o push normalmente.

Nessa altura caso tenha surgido muitos erros no seu terminal, e você tenha ficado confuso, o que eu vou entender afinal você está no primeiro módulo do curso.

Vou pedir para que volte uma casinha e faça o seguinte:

Clone o seu próprio repositório, abra um terminal na pasta que deseja dentro do seu computador, só não pode ser no mesmo lugar onde está essa sua pasta atual.

Execute o comando de clone:

git clone https://github.com/Rubferreira/aluraplus.git

E depois dentro da pasta que foi clonada, lá no terminal do seu VScode, você vai reverter para o outro commit:

git revert 61b67c02aea0245e779ca7fd5d73c3e7427e48c8 

Realizei o processo, demonstrado no GIF abaixo, mas não tenho as permissões necessárias, para sincronizar com o repositório remoto. No entanto, note que tenho acesso aos seus arquivos, e que recuperei o arquivo .json perdido.

Git do processo de clonagem e de revert

Depois basta volta no ícone do github, e fazer o commit normalmente.

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

Recomendo que realize esses passos, veja que em pouco tempo tudo volta àquele antigo estado, o uso do git/github nesse primeiro momento pode ser confuso e foi para todos, cada comando é uma nova descoberta que traz uma gama de possibilidades.

Espero ter ajudado! Se tiver qualquer dificuldade, pode me procurar. Estou sempre à disposição para auxiliar da melhor maneira possível. Apesar de existirem outras alternativas, acredito ser importante que você utilize os recursos do próprio Git para aprimorar seu aprendizado!

Abraços!

Olá Victor!

Eu consegui fazer com outro passo, mas não com esse, pelo menos no início, pois apresentou essa mensagem abaixo: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Abri o GitHub e recuperei o arquivo .json perdido e em seguida abri .github.dev, e aqui abri o terminal e cliquei em: Continue trabalhando no novo clone local e abriu o meu VS Code automaticamente e segui o processo no seu terminal. Sucesso! Consegui.

Muito Grato Amigo! Abraços!