Erro ao enviar arquivos para o GitHub

Observando o grafo, dá pra ver que teria como fazer um fast-forward da origin/master pra tua master local. Sinceramente não sei porque isso tá acontecendo. No erro que você colou, ele tá reclamando que tua branch atual não tem uma upstream. Pra corrigir isso, você pode tentar fazer assim:

git push -u origin master
1 curtida
yuri@MintOS ~/Modelos/Projeto Programming/Project $ git push -u origin master
Username for 'https://github.com': yuriProgramador
Password for 'https://yuriProgramador@github.com': 
To https://github.com/yuriProgramador/web5Presentation
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/yuriProgramador/web5Presentation'
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 pede usuário e senha

git fetch origin
git merge origin master
1 curtida
yuri@MintOS ~/Modelos/Projeto Programming/Project $ git fetch origin 
yuri@MintOS ~/Modelos/Projeto Programming/Project $ git merge origin master
merge: origin - not something we can merge

Dá esse erro porque origin não é uma branch. Tenta fazer que nem no começo, só que sem o remotes:

git merge origin/master

Não entendi bem, mas é pra fazer assim?
O resultado foi isto:

    yuri@MintOS ~/Modelos/Projeto Programming/Project $ git merge origin/master
    fatal: refusing to merge unrelated histories

Ou é pra fazer desta maneira: git merge remotes/origin/master

Como é que tu criou esse esquema?

Vc criou um repositório no github vazio? Ou criou aquele com um readme.md , que já começa com um commit? Descreve pra mim detalhadamente o processo de criação do remoto e do local. Você fez clone? Ou deu um git init? To suspeitando que tem algo errado com esse commit inicial.

De qualquer forma, tenta fazer isso aqui:

git merge --allow-unrelated-histories origin/master
2 curtidas

Você fez certo, nas duas vezes. O remotes no começo é opcional. Tem algo errado com esse commit inicial ali.

1 curtida

É o seguinte:

  1. Criei um repositório localmente
  2. Fui adicionando os arquivos e fazendo commits
  3. Criei um repositório no GitHub com um HEADME já incluso pelo próprio site do GitHub, será que é isso o problema?

OBS: Eu estou aprendendo git com um canal do YouTube e lembor perfeitamente que o cara falou que quando eu fosse criar um repositório no GitHub eu não fizesse nenhum commit, pois traria muita dor de cabeça, será que tem a ver?

Apareceu isso:

Entendi, e encontramos teu problema.

Veja bem: quando você criou o repo no github, ele já tem um commit, certo?

Depois, você criou um repositório local. O commit inicial já é diferente. Você foi evoluindo o local e agora, no final, quer fazer com que o local va para o remote. O problema é que são duas histórias de commits completamente diferentes. Por isso o git tá se recusando a fazer merge. Para fazer o merge normal, as duas branches devem ter um ancestral em comum. Nesse caso, elas não tem.

Você tem duas alternativas:

  1. Faz um merge de histórias que não tem um ancestral comum (tenta o comando q eu mandei antes ali). Eu nunca tentei fazer isso e não tenho como testar agora, to no celular

  2. Apaga o repositório no github e faz um novo sem nada

Aperta ctrl+x pra sair. Vai aparecer uma mensagem perguntando se vc quer salvar. Digita y e aperta enter pra confirmar

1 curtida

Eu vou deletá-lo e criar um novo, acho melhor

Pera que parece que deu certo!! Tava indo o merge ali na foto q vc mandou kkkkk abriu o editor pra vc digitar uma mensagem de commit pra terminar.

1 curtida

Já deletei o repositório, kk

1 curtida

E agora, faço o que? Digito o comando que você me passou?

Ah, agora então só apaga o remoto antigo

git remote rm origin

E adiciona o novo

git remote add origin <link>

E dá push setando a upstream

git push -u origin master

Uma perguntinha, O que faz esse -u e o upstream?