Guia de Sincronização GitHub

Em caso de problemas de sincronização, considerando que os arquivos locais sejam os corretos.

A forma mais eficiente e fácil que encontrei foi excluindo o projeto do GitHub e recriando-o novamente

Mas cuidado!!! Se você tentar excluir o projeto diretamente pelo GitHub Desktop sem os devidos cuidados, corre um grande risco de apagar a pasta da sua máquina local e perder todas as alterações em C++ que você acabou de fazer.

Passo a passo para recriar o projeto no GitHub

  1. Excluir o projeto do GitHub
    • Acesse a página do seu projeto no GitHub pelo navegador. Clique na aba Settings (Configurações), role a página inteira até o final até encontrar a área vermelha chamada "Danger Zone" e clique no botão Delete this repository. Siga as instruções da tela para confirmar.
  2. Remova o projeto do GitHub Desktop
    • Abra o GitHub Desktop, clique com o botão direito sobre o nome do seu repositório na lista e escolha Remove.
    • IMPORTANTE: Aparecerá uma janela de confirmação. Certifique-se de que a caixa "Also move this repository to Recycle Bin" (Também mover este repositório para a Lixeira) esteja DESMARCADA.
    • Clique em Remove.
  3. Apague a pasta oculta .git na sua máquina
    • Abra a pasta do seu projeto no Explorador de Arquivos do seu computador. Você precisa apagar uma pasta oculta chamada .git que está lá dentro (é ela que guarda o histórico bagunçado).
    • e você usa Windows, pode ser necessário ir no menu superior Exibir > Mostrar e marcar Itens ocultos para conseguir ver a pasta .git.
  4. Recrie e publique o repositório
    • Abra o GitHub Desktop, clique em File > Add Local Repository e selecione sua pasta
    • O programa vai avisar que não encontrou um repositório ali e mostrará um link clicável escrito "create a repository".
    • Clique nele, confirme a criação e, em seguida, clique no botão azul Publish repository para enviar a versão final e correta para o GitHub.

Dessa forma, o GitHub Desktop vai tratar seus arquivos atuais como o "ponto de partida" do seu novo sistema, ignorando totalmente a confusão de pastas do passado.