Pregunta Extraiga nuevas actualizaciones del repositorio original de GitHub en el depósito bifurcado de GitHub


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 fueron hechos después de que bifurqué mi copia.

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


522
2017-10-11 06:06


origen


Respuestas:


Debe agregar el repositorio original (el que ha bifurcado) como un control remoto.

Desde el Página del tenedor GitHub:

fork

Una vez que el clon esté completo, su repositorio tendrá un control remoto llamado "origin"Eso apunta a tu fork en GitHub.
  No dejes que el nombre te confunda, esto no apunta al repositorio original del que extrañaste. Para ayudarlo a realizar un seguimiento de ese repositorio, agregaremos otro control remoto denominado "ascendente":

$ cd github-services
$ git remote add upstream git://github.com/pjhyett/github-services.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 tienes un gema de rubí que puede facilitar esas operaciones de GitHub.

forked

Ver también "Git tenedor es git clone?".


604
2017-10-11 06:12



Además de la respuesta de VonC, podrías ajustarla a tu gusto aún más.

Después de obtener de la sucursal remota, aún tendría 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.


87
2017-09-17 17:24



Esta vídeo muestra cómo actualizar una horquilla directamente desde GitHub 

Pasos:

  1. Abre tu tenedor en GitHub.
  2. Haga clic en Pull Requests.
  3. Haga clic en New Pull Request. Por defecto, GitHub comparará el original con su tenedor, y no debería haber nada para comparar si no hizo ningún cambio.
  4. Haga clic en switching the base. Ahora GitHub comparará tu tenedor con el original, y deberías ver todos los últimos cambios.
  5. Haga clic en Create a pull request para esta comparación y asigne un nombre predecible a su solicitud de extracción (por ejemplo, Actualización del original).
  6. Haga clic en Create pull request.
  7. Desplázate hacia abajo y haz clic Merge pull request y finalmente Confirm unir. Si su tenedor no tuvo ningún cambio, podrá fusionarlo automáticamente.

58
2018-05-20 08:06



Utilizar:

git remote add upstream ORIGINAL_REPOSITORY_URL

Esto establecerá tu upstream en el repositorio desde el que has bifurcado. Entonces haz esto:

git fetch upstream      

Esto buscará todas las ramas, incluido el maestro del repositorio original.

Combine estos datos en su rama principal local:

git merge upstream/master

Empuje los cambios a su repositorio bifurcado, es decir, al origen:

git push origin master

Voila! Has terminado con la sincronización del repositorio original.


35
2018-02-18 18:05



Si está utilizando la aplicación de escritorio GitHub, hay un botón de sincronización en la esquina superior derecha. Haga clic en él y luego Update from <original repo> cerca de arriba a la izquierda.

Si no hay cambios para sincronizar, esto estará inactivo.

Aquí están algunas capturas de pantalla para hacer esto fácil


1
2018-04-02 03:30