Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas com push solucionado com -f está correto?

Olá. Ao realizar o git push tive o seguinte erro:

Erro

git push origin master

Username for 'https://github.com': rafaelraymundo

Password for 'https://rafaelraymundo@github.com':

To https://github.com/rafaelraymundo/alura-git.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/rafaelraymundo/alura-git.git' dica: Updates were rejected because the tip of your current branch is behind dica: its remote counterpart. Integrate the remote changes (e.g. dica: 'git pull ...') before pushing again. dica: See the 'Note about fast-forwards' in 'git push --help' for details.

=============

Para solucionar utilizei o parametro -f pois li que "The -f is actually required because of the rebase." Ficando assim:

Solução

git push -f origin master

Username for 'https://github.com': rafael.silva@mail.net

Password for 'https://rafael.silva@mail.net@github.com':

Counting objects: 18, done. Delta compression using up to 8 threads. Compressing objects: 100% (13/13), done. Writing objects: 100% (18/18), 1.73 KiB | 589.00 KiB/s, done. Total 18 (delta 4), reused 0 (delta 0) remote: Resolving deltas: 100% (4/4), done. To https://github.com/rafaelraymundo/alura-git.git

  • 29ebcbb...05abb86 master -> master (forced update)

================

Está correto?

Dessa forma o index.html foi commitado no github, mas o uso desse parâmetro -f (force) deveria realmente ter sido feito?

1 resposta
solução!

Olá Rafael, tudo bem? Então, com o uso do parâmetro -f (force) você conseguiu subir as mudanças para o GitHub porém como o nome já fala foi de forma forçada, ou seja ele colocou essas mudanças a frente de todas as outras que estavam no GitHub já, e pelo erro apresentado:

To https://github.com/rafaelraymundo/alura-git.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/rafaelraymundo/alura-git.git' dica: Updates were rejected because the tip of your current branch is behind dica: its remote counterpart. Integrate the remote changes (e.g. dica: 'git pull ...') before pushing again. dica: See the 'Note about fast-forwards' in 'git push --help' for details.

Ele indica que o problema provavelmente (quase que certeza) é que seu branch local, o que você está tentando enviar as mudanças está atrás do branch remoto, ou seja o seu branch local não tem alguns commits que o branch remoto (no GitHub) tem, e para resolver isso ele indica que você poderia usar o comando git pull e em seguida tentar fazer o push novamente (git push origin master).

No seu caso o push forçado funcionou corretamente, porém em um projeto grande e com um maior grau de complexidade e funcionalidades isso pode ser um problema, já que você deixou o seu commit na frente de todos os outros commits e talvez esteja sem alguns códigos que foram implementados pelos outros commits que estavam a frente do seu no momento em que deu o erro.

Espero ter esclarecido sua dúvida!