Así que aquí hay un flujo de trabajo típico en Github ...
Al igual que algún proyecto
->
bifurcarlo->
git clone https://github.com/you/someproject
.Proyecto abierto. Me gusta lo que ves, pero haz algunos cambios.
Habiendo tenido cuidado de trabajar solo en un
feature-branch
(git checkout -b some-feature
), decide realizar una solicitud de extracción con elupstream
mantenedor, después de haber empujadofeature-branch
a su tenedor Github.El mantenedor, por cualquier razón, rechaza la atracción.
Por ejemplo ... aquí hay una solicitud de extracción fallida que envié que coincide con el escenario anterior. ..
Ahora por lo general , si el mantenedor se había fusionado el tirón ... el flujo de trabajo sería simple ... En mi máquina local, me gustaría cometer cualquier cambio local en lo feature-branch
que estaba en ese momento ... git fetch --all
, git checkout master
, git pull upstream --ff-only
. Luego repita mis cambios además de eso, como lo desee ...
PERO...
¿Qué sucede si decido que desea continuar trabajando en los cambios en mi bifurcación, sin problemas ... y aún así poder seguir y fusionar los cambios que ocurren upstream
? Por lo general, eliminaría la rama de características y seguiría mi camino. ¿Cómo puede mantener una master
rama que pueda fusionarse en sentido ascendente, pero que mantenga las características de su bifurcación mientras está "desconectada permanentemente" de upstream
las de HEAD
?
Respuestas:
Independientemente del uso de su escenario, así es cómo puede hacerlo:
Con esta estrategia debería funcionar. Pero tenga en cuenta que cada cambio que realice en una rama de características basada en la costumbre no será aceptado en el maestro ascendente.
fuente