¿Cómo puedo usar git rebase sin requerir un impulso forzado?

En un intento por lograr git nirvana, me paso el día aprendiendo cómo aprovechar el rebase para situaciones en las que actualmente me fusiono.

Al ejecutar lo que considero un flujo de git 101 (que explico a continuación), tengo quepush --force Al empujar mis cambios de vuelta al origen.

No soy el único. Sé que esto es un terreno cubierto (ver1,2,3,4,5), y entiendo las razones técnicaspor qué una fuerza es necesaria Mi problema es este --- hay muchas (muchas) entradas de blog que cantan las alabanzas de rebase y cómo ha cambiado sus vidas (ver1,2,3,4 para enumerar algunos), pero ninguno de ellos menciona quepush --force Es parte de su flujo. Sin embargo, casi todas las respuestas a las preguntas existentes de stackoverflow dicen cosas como "sí, si vas a cambiar de base, tienes que usarpush --force".

Dado el número y la religiosidad de los defensores de la rebase,Tengo que creer que el uso de "fuerza de empuje" no es una parte inherente de un flujo de rebase, y que si uno tiene que forzar sus empujes a menudo, está haciendo algo mal..

push --force es uncosa mala.

Así que aquí está mi flujo.¿De qué manera podría lograr los mismos resultados sin una fuerza?

Ejemplo simple

Dos ramas

v1.0 - una rama de lanzamiento, contiene solo parchesdominar - Todo para el próximo lanzamiento importante.

Tengo algunos parches de confirmación y algunos de confirmación para la próxima versión.

Me gustaría incorporar los parches en mi maestro para que no se pierdan en la próxima versión. Antes de la iluminación yo simplemente:

git checkout master
git merge v1.0

Pero ahora estoy tratando

git checkout master
git rebase v1.0

Así que ahora estoy aquí:

Tiempo para:

git push

No dados.

Respuestas a la pregunta(5)

Su respuesta a la pregunta