notes example create branches github

example - ¿Cuál es la diferencia entre origen y upstream en GitHub?



github compare branches (1)

¿Cuál es la diferencia entre origin y upstream en GitHub ?

Cuando se git branch -a comando git branch -a , algunas ramas tienen un prefijo de origin ( remotes/origin/.. ) mientras que otras tienen un prefijo de upstream ( remotes/upstream/.. ).


Esto debe entenderse en el contexto de las bifurcaciones de GitHub (donde usted bifurca un repositorio de GitHub en GitHub antes de clonar esa bifurcación local).

  • upstream generalmente se refiere al repositorio original que ha bifurcado
    (vea también " Definición de" downstream "y" upstream " " para obtener más información sobre el término upstream )
  • origin es tu bifurcación: tu propio repositorio en GitHub, clon del repo original de GitHub

Desde la página de GitHub:

Cuando se clona un repositorio, tiene un origin remoto llamado origin que apunta a su bifurcación en GitHub, no al repositorio original desde el que se bifurcó.
Para mantener un registro del repositorio original, debe agregar otro control remoto llamado upstream

git remote add upstream git://github.com/user/repo.git

Utilizará el upstream para obtener del repositorio original (para mantener su copia local sincronizada con el proyecto al que desea contribuir).

git fetch upstream

( git fetch solo recuperaría de origin por defecto, que no es lo que se necesita aquí)

Usarás el origin para tirar y empujar, ya que puedes contribuir a tu propio repositorio.

git pull git push

(de nuevo, sin parámetros, se usa ''origen'' por defecto)

Contribuirá de nuevo al repositorio upstream haciendo una solicitud de extracción .