Erro ao enviar arquivos para o GitHub

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?

Ahh outra coisa, o link pode ser https ou ssh? Eu posso usar qualquer um??