He estado investigando a través de git merge y rebase docs, y algo no se está hundiendo. Estoy trabajando activamente en un proyecto en Git, y necesito compartir hitos específicos con otros desarrolladores. Quiero compartir el código exactamente como está en cada hito/lanzamiento, pero no todos mis compromisos pequeños previos a cada lanzamiento.Git rebase/merge para publicaciones públicas
¿Cómo creo una rama de versión que refleje una rama de desarrollo, donde cada una de las confirmaciones en la rama de versión contiene varias confirmaciones de la rama de desarrollo? En otras palabras, la rama de publicación debe tener un historial comprimido, pero debe coincidir con la rama de desarrollo.
Originalmente, había pensado que usar una rama separada y usar git merge --squash sería efectivo, creando una nueva rama con una serie de confirmaciones que reflejaran el conjunto completo de cambios entre cada versión. Ahora entiendo que git merge --squash no funciona para usos repetidos.
Git rebase funciona para colapsar varias confirmaciones en una confirmación grande, pero como cambia el historial de confirmaciones, ¿no cambiaría mi historial privado así como las publicaciones públicas?
No quiero perder mi historial de pequeños cambios, pero quiero enviar confirmaciones combinadas a un servidor compartido.
Eso ciertamente lo hace. Funcionó para mí :) –
Gracias, Charles. Eso hace lo que estoy buscando. – Neil