Qual é a diferença entre origem e upstream no GitHub?


Respostas:


804

Isso deve ser entendido no contexto dos garfos do GitHub (onde você bifurca um repositório do GitHub no GitHub antes de cloná-lo localmente).

  • upstreamgeralmente se refere ao repositório original que você bifurcou
    (consulte também " Definição de" downstream"e" upstream" " para obter mais informações sobre o upstreamprazo)
  • origin é o seu fork: seu próprio repositório no GitHub, clone do repositório original do GitHub

Na página do GitHub:

Quando um repo é clonado, ele tem um controle remoto padrão chamado originque aponta para o seu fork no GitHub, não o repo original do qual foi bifurcado.
Para acompanhar o repo original, você precisa adicionar outro controle remoto chamadoupstream

git remote add upstream git://github.com/<aUser>/<aRepo.git>

(com aUser/aRepoa referência do criador e do repositório original que você bifurcou)

Você utilizará upstreama busca no repositório original (para manter sua cópia local sincronizada com o projeto no qual deseja contribuir).

git fetch upstream

(por git fetchsi só, buscaria originpor padrão, o que não é necessário aqui)

Você usará originpara puxar e empurrar, pois pode contribuir com seu próprio repositório.

git pull
git push

(novamente, sem parâmetros, 'origem' é usado por padrão)

Você contribuirá de volta para o upstreamrepositório fazendo uma solicitação de recebimento .

garfo e montante


11
Também ajuda a saber o que upstreamgeralmente é: stackoverflow.com/questions/2739376/…
VonC

2
@MaxRydahlAndersen true, mas eu gosto de usar o Git sem wrapper, por isso vou manter essa convenção (upstream vs. origin) por enquanto.
VonC

22
De longe, a melhor explicação de como os garfos funcionam que eu já vi. Você recebe o meu voto.
CodeChimp

9
Ótimo trabalho no visual. Resposta muito direta e compreensível. Era exatamente isso que eu estava procurando.
tayopi

1
@iamrudra se o git remote -v mostra o mesmo URL para origem e upstream, então sim, você está enviando para o mesmo repositório remoto.
VonC 11/08/16
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.