Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Erro ao fazer o git push e git pull

Olá a pessoal,

Estou com um problema para realizar o git push. Quando executei o comando, a seguinte mensagem apareceu:

$ git push -u origin main
To https://github.com/italomanzine/conversor-unidades
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'https://github.com/italomanzine/conversor-unidades'
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.

Tentei então utilizar o comando git pull conforme informado, porém a seguinte mensagem de erro surgiu:

$ git pull origin main
From https://github.com/italomanzine/conversor-unidades
 * branch            main       -> FETCH_HEAD
fatal: refusing to merge unrelated histories

segue também o relatório do git log:

$ git log
commit bc81ece3613c39a10f91c9e8227c87cc10c3fc2d (HEAD -> main)
Author: italomanzine <italomanzine@gmail.com>
Date:   Sun Dec 5 14:50:52 2021 -0300

    Remoção arquivo Aluno.txt

commit 8e6b22408183cf17048b953362d593b9fd5956ba (local/main)
Author: italomanzine <italomanzine@gmail.com>
Date:   Sun Dec 5 14:10:33 2021 -0300

    Remoção do arquivo de vídeo

commit 52d7a8b90bb942b382715c842805d975a74d0f39
Author: italomanzine <italomanzine@gmail.com>
Date:   Sun Dec 5 00:52:51 2021 -0300

    Criando commit arquivo conversor unidades em c++

Alguém sabe qual é o problema que está inviabilizando os commits?

8 respostas
solução!

Oi, espero que te ajude: git pull origin main --allow-unrelated-histories

Olá Jose, tudo bem?

agora a seguinte mensagem apareceu, porém não consigo executar nenhum comando:

Merge branch 'main' of https://github.com/italomanzine/conversor-unidades
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
D:/linguagem_prog_II/T6_Conversor_Unidades/.git/MERGE_MSG[+] [unix] (15:19 05/12/2021) 6,14 All
-- INSERT --

Pelo que eu entendi eu teria que realizar um merge e justificar o motivo correto?

Isso é apenas uma confirmação de merge, você pode usar o esc e depois :x

O git segue falando que tem um arquivo de grande, o qual eu já retirei no meu segundo commit:

$ git pull origin main --allow-unrelated-histories
From https://github.com/italomanzine/conversor-unidades
 * branch            main       -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 README.md | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 README.md

Admin@NOTEBOOK-Manzine-ODYSSEY MINGW64 /d/linguagem_prog_II/T6_Conversor_Unidades (main)
$ git push origin main
Enumerating objects: 39, done.
Counting objects: 100% (39/39), done.
Delta compression using up to 8 threads
Compressing objects: 100% (33/33), done.
Writing objects: 100% (38/38), 49.71 MiB | 1.04 MiB/s, done.
Total 38 (delta 5), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (5/5), done.
remote: error: Trace: 8de99fed7b4d232fe9b9308d2413f5b7c1383cf193ea718307d1b9c4c8a51924
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File main.cpp - T6 - Visual Studio Code 2021-08-16 21-40-57.mp4 is 210.78 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
To https://github.com/italomanzine/conversor-unidades
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/italomanzine/conversor-unidades'

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

Certo, como você já commitou o arquivo, o git vai tentar enviar o commit com esse arquivo e depois enviar seu segundo commit deletando o arquivo, eu sugiro que você remova o commit que foi feito git reset --hard [hash do commit]. Não lembro se existe outras soluções.

Aparentemente ele resetou e voltou justamente para o commit onde tinha o vídeo:

$ git reset --hard 52d7a8b90bb942b382715c842805d975a74d0f39
HEAD is now at 52d7a8b Criando commit arquivo conversor unidades em c++

como esse foi o primeiro commit, o que seria mais fácil de fazer não seria eu copiar os arquivos para uma pasta nova e refazer todo o processo, porém agora sem o vídeo?

Pode fazer isso sim, mas acredito que resolvemos o problema inicial relacionado ao merge de commits :), espero poder ajudar com outros problemas

Sim Sim, obrigado pela ajuda José, deu para entender bastante coisa de git e com certeza vou conseguir usar essa questão do merge mais em outros problemas.

Obrigado pela ajuda e até a próxima.