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
Você fez certo, nas duas vezes. O remotes
no começo é opcional. Tem algo errado com esse commit inicial ali.
É o seguinte:
- Criei um repositório localmente
- Fui adicionando os arquivos e fazendo commits
- 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?
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:
-
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
-
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
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.
Já deletei o repositório, kk
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??
Você pode entender upstream como a branch de referência da tua.
Quando você tem uma branch definida como upstream, você não precisa dizer:
git pull origin master
Se origin/master é a upstream, você só diz:
git pull
O mesmo serve pro push. Se na primeira vez que vocÊ der push, colocar a flag -u
, nas próximas só precisa dizer
git push
Ao invés de
git push origin master
Eu nunca usei git com SSH, não tenho a menor ideia de como funciona. Sempre usei com HTTPS e deu certo.
certo
yuri@MintOS ~/Modelos/Projeto Programming/Project $ git remote add origin https://github.com/yuriProgramador/web5Presentation.git
Não apresentou nenhum problema, até então
Funcionou!!! uhhuuuuu
yuri@MintOS ~/Modelos/Projeto Programming/Project $ git push -u origin master
Username for 'https://github.com': yuriProgramador
Password for 'https://yuriProgramador@github.com':
Counting objects: 84, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (62/62), done.
Writing objects: 100% (84/84), 6.49 KiB | 0 bytes/s, done.
Total 84 (delta 36), reused 0 (delta 0)
remote: Resolving deltas: 100% (36/36), done.
To https://github.com/yuriProgramador/web5Presentation.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
Veja no GitHub: