Supongamos que hay un repositorio someone/foobar
en GitHub, al que me bifurqué me/foobar
.
¿Cómo extraigo nuevos commits del repositorio principal directamente a mi fork , sin tener que agregar un control remoto por separado y recordar extraer regularmente desde allí ?
La meta es:
git pull
para buscar desde el repositorio principalgit push
para enviar todo a mi tenedor
Respuestas:
Abra el repositorio bifurcado de Git me / foobar .
Haga clic en Comparar :
Recibirá la notificación:
Haga clic en cambiar la base en esta página:
Luego, puede ver todos los compromisos realizados con alguien / foobar después del día en que lo bifurcó.
Haga clic en Crear solicitud de extracción :
Dé un título a la solicitud de extracción y tal vez una descripción y haga clic en Crear solicitud de extracción .
En la página siguiente, desplácese hasta la parte inferior de la página y haga clic en Combinar solicitud de extracción y Confirmar fusión .
Tu repositorio Git me / foobar se actualizará.
Editar: las opciones de rebase se muestran aquí:
fuente
Edit
botón y cambie manualmentebase fork
ame/foobar
yhead fork
parasomeone/foobar
. De esta manera queda mucho más claroSin embargo, hay una advertencia:
esto es perfecto si usted es el único que realiza cambios en su bifurcación.
Sin embargo, si se comparte con otras personas, es posible que deba retirarse de la bifurcación, en cuyo caso un único control remoto es la única solución.
Editar:
En realidad, se puede
git pull [email protected]:me/foobar
, lo que elimina la salvedad.La elección es suya en cuanto a cuál es más fácil de recordar.
fuente
Utilicé un método bastante simple usando la interfaz de usuario web de GitHub para hacer eso:
me/foobar
)fuente
La aplicación "Pull" es una solución automática de configuración y olvido. Sincronizará la rama predeterminada de su bifurcación con el repositorio ascendente.
Visite la URL, haga clic en el botón verde "Instalar" y seleccione los repositorios donde desea habilitar la sincronización automática.
La rama se actualiza una vez por hora directamente en GitHub, en su máquina local necesita extraer la rama maestra para asegurarse de que su copia local esté sincronizada.
También respondió en https://stackoverflow.com/a/58965171/946850 .
fuente
Otra opción es usar el
Update from upstreamRepoName/master
botón en GitHub para Mac (y supongo que GitHub para Windows).fuente
No sé cómo se puede hacer sin agregar otro control remoto, sin embargo, siempre agrego el repositorio que bifurqué como
upstream
control remoto para poder simplemente hacer:Esto sincronizará todas las ramas incl. creando nuevas (elimine
refs/heads/
para actualizar solo las ramas existentes). Si alguna de sus ramas ha divergido, arrojará un error para esa rama.fuente