6
respostas

[Dúvida] não consigo fazer o push , na segunda vez

Algumas vezes consegui fazer , depois dá esse erro. Após fazer um push , é necessário ir no repositório remoto, fazer alguma ação ?

! [rejected] master -> master (fetch first) error: failed to push some refs to '...' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

6 respostas

Oi Genival!

O erro acontece porque o seu repositório local não está sincronizado com o repositório remoto. Você precisar fazer um git pull primeiro:

git pull origin master

e depois fazer o push:

git push origin master

Digitei este comando, git pull origin master

Recebi esta resposta From https://github.com/Genivalti/curso_Javascript-backend

  • branch master -> FETCH_HEAD fatal: refusing to merge unrelated histories

Deve estar com alguma mudança no seu repositório local que está causando problemas.

Roda um git status e manda um print aqui.

genivalti@debian:~/Desktop/ALURA/BACKEND/JS-ALGORITMOS$ git status On branch master nothing to commit, working tree clean

Eu tenho uma dúvida básica, pode me responder ? Eu inicio um repositório no Github, faço os comandos básicos: git init, git status, depois os 4 passos básicos: git remote add origin (endereço do remote), git add , git commit -m " " , git push origin master. Tudo ok, vou lá no Github, meus arquivos estão no repositório. Pronto ! Agora o que eu devo fazer ? Se eu tiver mais arquivos pra subir ? Se eu não fiz nada ainda com os anteriores ? Vai dar algum conflito, erro ?

Esse erro que aconteceu contigo: fatal: refusing to merge unrelated histories é porque você está com um repositório local que é diferente do repositório no GitHub, ou seja, devem ser de projetos distintos e com isso o Git se perdeu com os commits, pois eles são distintos.

Recomendo então você criar um novo repositório no GitHub e atualizar o seu repositório local com esse novo repositório remoto:

git remote remove origin
git remote add origin URL_DO_NOVO_REPOSITORIO_NO_GITHUB
git push -u origin main

Quanto a sua outra pergunta, o fluxo de trabalho após isso será o seguinte:

  1. Realizar alterações no projeto (novas funcionalidades, ajustes, melhorias, etc)
  2. Registrar as alterações com um commit (git add, git commit)
  3. Enviar seu novo commit para o repositório remoto no GitHub (git push)

Caso existam outras pessoas trabalhando no mesmo projeto, será necessário pegar os commits que elas enviaram para o GitHub antes de você enviar os seus commits. O fluxo então seria:

  1. Realizar alterações no projeto (novas funcionalidades, ajustes, melhorias, etc)
  2. Registrar as alterações com um commit (git add, git commit)
  3. Trazer os novos commits do repositório remoto no GitHub para o seu repositório local (git pull)
  4. Enviar seu novo commit para o repositório remoto no GitHub (git push)

Segui os passos, resposta abaixo:

To https://github.com/Genivalti/curso-Javascript-para-backend.git ! [rejected] main -> main (fetch first) error: failed to push some refs to 'https://github.com/Genivalti/curso-Javascript-para-backend.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Até atualizei a versão do Git , pq uso Linux Debian, e quando iniciava um repositório, sempre era na branch master. Nada dá certo ! Tem como eu reiniciar tudo de um ponto ? Resetar tudo ? Desde que funcione