Extraiga nuevas actualizaciones del repositorio de GitHub original al repositorio de GitHub bifurcado

Resuelto why asked hace 14 años • 8 respuestas

Bifurqué el repositorio de alguien en GitHub y me gustaría actualizar mi versión con confirmaciones y actualizaciones realizadas en el repositorio original. Estos se hicieron después de que bifurqué mi copia.

¿Cómo puedo incorporar los cambios que se realizaron en el origen e incorporarlos a mi repositorio?

why avatar Oct 11 '10 13:10 why
Aceptado

Tienes que agregar el repositorio original (el que bifurcaste) como remoto.

De la documentación de GitHub sobre cómo bifurcar un repositorio :

Captura de pantalla de la antigua interfaz de GitHub con una lente rectangular alrededor del botón "Bifurcación"

Una vez que se complete la clonación, su repositorio tendrá un control remoto llamado " origin" que apunta a su bifurcación en GitHub.
No dejes que el nombre te confunda, esto no apunta al repositorio original desde el que bifurcaste. Para ayudarlo a realizar un seguimiento de ese repositorio, agregaremos otro control remoto llamado "upstream":

$ cd PROJECT_NAME
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
$ git fetch upstream

# then: (like "git pull" which is fetch + merge)
$ git merge upstream/master master

# or, better, replay your local work on top of the fetched branch
# like a "git pull --rebase"
$ git rebase upstream/master

También hay una herramienta de línea de comandos ( gh) que puede facilitar las operaciones anteriores .

Aquí hay una imagen de cómo funciona:

Diagrama de flujo del resultado después de ejecutar los comandos.

Consulte también "¿ Las bifurcaciones de Git son en realidad clones de Git? ".

VonC avatar Oct 11 '2010 06:10 VonC

Además de la respuesta de VonC, puedes modificarla aún más a tu gusto.

Después de buscar desde la rama remota, aún tendrás que fusionar las confirmaciones. yo reemplazaría

$ git fetch upstream

con

$ git pull upstream master

ya que git pull es esencialmente git fetch + git merge.

n00shie avatar Sep 17 '2012 17:09 n00shie

Usar:

git remote add upstream ORIGINAL_REPOSITORY_URL

Esto configurará su flujo ascendente al repositorio desde el que bifurcó. Entonces haz esto:

git fetch upstream      

Esto recuperará todas las ramas, incluida la maestra, del repositorio original.

Combine estos datos en su rama maestra local:

git merge upstream/master

Envía los cambios a tu repositorio bifurcado, es decir, al origen:

git push origin master

¡Voilá! Ha terminado con la sincronización del repositorio original.

ARK avatar Feb 18 '2016 18:02 ARK