tag from delete create commits git github

from - github api tags



FusiĆ³n entre horquillas en GitHub (2)

Yo bifurqué un repositorio de GitHub. Entonces empujé algunos cambios a mi tenedor. Luego el repositorio original fusionó mis cambios y algunos otros. Ahora, quiero fusionar esos cambios que me faltan. Intenté un simple tirón seguido de un empuje, pero esto produjo mis confirmaciones por duplicado. ¿Cuál es la mejor manera de hacerlo?


Así que la respuesta aceptada arriba no funcionó perfectamente para mí. Es decir, parecía que perdía el vínculo con el autor original de github cuando funcionaba, y luego parece que ya no funciona. Creo que el problema fue que la respuesta omitió el / entre el nombre remoto y la rama. Así que obtendría una rama llamada maestro desde el control remoto, pero luego no podría hacer nada con ella. No estoy realmente seguro de por qué.

Aquí está la forma en que github recomienda desde su sitio .

Una vez que haya clonado su repo bifurcado, debe agregar un control remoto que apunte al original como dijo la respuesta anterior. Les gusta llamarlo corriente arriba, pero no importa.

git remote add upstream git://github.com/octocat/Spoon-Knife.git

Entonces traes

git fetch upstream

y verás las versiones disponibles para fusionar

From git://github.com/octocat/Spoon-Knife.git * [new branch] gh-pages -> upstream/gh-pages * [new branch] master -> upstream/master

Luego, solo tiene que elegir la rama en la que desea fusionarse. Tenga en cuenta que no son sucursales locales, se almacenan bajo los controles remotos. Pero siempre que no tenga una sucursal local llamada upstream / master (que está permitida) debería estar bien fusionada con la siguiente línea:

git merge upstream/master

Alternativamente, puede abreviar la búsqueda / combinación (al menos después de la búsqueda inicial) con esta línea:

git pull upstream/master


Probablemente tengas un "remoto" para cada repositorio. Necesitas tirar del mando a distancia y empujar hacia el otro.

Si originalmente clonaste desde tu fork, ese control remoto se llamará "origen". Si aún no lo ha agregado, deberá agregar el repositorio del primer tipo como otro control remoto:

git remote add firstguy git://github.com/firstguy/repo.git

Después de que todo está configurado, deberías poder

git pull firstguy master git push origin

Recuerde, git pull no es más que una macro que hace git fetch y git merge , en ese orden. Solo necesitas buscar la lista de confirmaciones del repositorio del primer tipo y luego fusionar su rama en tu árbol. La fusión debe hacer lo correcto con sus compromisos en ambas ramas.

GitHub, en toda su perpetuidad, te da un atajo, por supuesto. Hay un botón de "avance rápido" en su bifurcación del repositorio que puede usar para recuperar su bifurcación si está completamente fusionado con el otro lado.