OK, pensé que este era un simple escenario git, ¿qué me estoy perdiendo?
Tengo una masterrama y una featurerama. Realizo algunos trabajos master, otros feature, y luego otros master. Termino con algo como esto (el orden lexicográfico implica el orden de los commits):
A--B--C------F--G (master)
\
D--E (feature)
No tengo ningún problema para git push origin mastermantener masteractualizado el control remoto , ni con git push origin feature(cuando está activado feature) para mantener una copia de seguridad remota para mi featuretrabajo. Hasta ahora, estamos bien.
Pero ahora quiero hacer una nueva base featuresobre los F--Gcommits en master, así que yo git checkout featurey git rebase master. Sigue bien. Ahora tenemos:
A--B--C------F--G (master)
\
D'--E' (feature)
Problema: en el momento en que quiero hacer una copia de seguridad de la nueva bifurcación featureramificada git push origin feature, el empuje se rechaza ya que el árbol ha cambiado debido a la rebase. Esto solo se puede resolver con git push --force origin feature.
Odio usar --forcesin estar seguro de que lo necesito. Entonces, ¿lo necesito? ¿El rebase implica necesariamente que el próximo pushdebe ser --forcecompleto?
Esta rama de características no se comparte con ningún otro desarrollador, por lo que no tengo ningún problema de facto con el empuje de fuerza, no voy a perder ningún dato, la pregunta es más conceptual.