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 hicieron en el origen e incorporarlos a mi repositorio?
git push --force origin --tags
después de las soluciones propuestas!Respuestas:
Debe agregar el repositorio original (el que bifurcó) como control remoto.
Desde la página de manual de la horquilla GitHub :
También tienes una gema de rubí que puede facilitar esas operaciones de GitHub .
Consulte también "¿ Git fork es git clone? ".
fuente
git rebase upstream/master
, pero he agregado las dos posibilidades en la respuesta.git push --force
, reemplazando el historial de tu sucursal en GitHub por tu sucursal local que acabas de modificar. Como solo tú estás usando una rama triste, no hay lío involucrado.Además de la respuesta de VonC, puede ajustarlo a su gusto aún más.
Después de buscar desde la rama remota, aún tendría que fusionar las confirmaciones. Yo reemplazaria
con
dado que git pull es esencialmente git fetch + git merge.
fuente
git rebase upstream master
Tenga en cuenta que esto no está exento de conflictos si se ha desviado lo suficienteupstream/master
. Vea git-scm.com/docs/git-rebase (tl; dr: esto restablece su maestro local al de aguas arriba, y luego intenta reactivar todos los compromisos locales desde el punto de divergencia hacia adelante)Este video muestra cómo actualizar una bifurcación directamente desde GitHub
Pasos:
Pull Requests
.New Pull Request
. De forma predeterminada, GitHub comparará el original con su bifurcación, y no debería haber nada para comparar si no realizó ningún cambio.switching the base
. Ahora GitHub comparará su bifurcación con el original, y debería ver todos los últimos cambios.Create a pull request
para esta comparación y asigne un nombre predecible a su solicitud de extracción (por ejemplo, Actualizar desde original).Create pull request
.Merge pull request
y finalmenteConfirm
fusionar. Si su bifurcación no tuvo ningún cambio, podrá fusionarlo automáticamente.fuente
switching the base
opciónUtilizar:
Esto configurará su flujo ascendente al repositorio desde el que se bifurcó. Entonces haz esto:
Esto buscará todas las ramas, incluido el maestro del repositorio original.
Combine estos datos en su rama maestra local:
Empuje los cambios a su repositorio bifurcado, es decir, al origen:
Voila! Has terminado con la sincronización del repositorio original.
fuente
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 la esquina superior izquierda.Si no hay cambios para sincronizar, esto estará inactivo.
Aquí hay algunas capturas de pantalla para facilitar esto.
fuente
Si no hay nada que perder, también puede eliminar su bifurcación, simplemente vaya a la configuración ... vaya a la sección de zona de peligro a continuación y haga clic en Eliminar repositorio. Le pedirá que ingrese el nombre del repositorio y su contraseña después. Después de eso, simplemente bifurca el original nuevamente.
fuente
Si quieres hacerlo sin cli, puedes hacerlo completamente en el sitio web de Github.
New pull request
.Create new pull request
.fuente
Para sincronizar automáticamente su repositorio bifurcado con el repositorio principal, puede usar la aplicación Pull en GitHub.
Consulte el archivo Léame para obtener más detalles.
Para una configuración avanzada donde desea conservar los cambios realizados en el repositorio bifurcado, consulte mi respuesta en una pregunta similar aquí .
fuente