GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Erro ao enviar arquivos para o GitHub


#21

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


#22

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

#23

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


#24

É 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?


#25

Apareceu isso:


#26

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


#27

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


#28

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


#29

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.


#30

Já deletei o repositório, kk


#31

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


#32

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

#33

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


#34

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


#35

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

#36

Eu nunca usei git com SSH, não tenho a menor ideia de como funciona. Sempre usei com HTTPS e deu certo.


#37

certo


#38

yuri@MintOS ~/Modelos/Projeto Programming/Project $ git remote add origin https://github.com/yuriProgramador/web5Presentation.git


#39

Não apresentou nenhum problema, até então


#40

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: