tag example crear git branch rebase squash

example - Git: ¿Cómo rebase y squash se compromete de rama a maestro?



git push tag (2)

Estoy tratando de reajustar y aplastar todos mis compromisos de la rama actual al maestro. Esto es lo que estoy tratando de hacer:

git checkout -b new-feature

Hacer un par de confirmaciones, después de eso estaba intentando:

git rebase -i master

En este caso, los compromisos permanecerán en la rama de new-feature

git checkout master git rebase -i new-feature

Me da y la ventana de edición con el mensaje noop.

Sé sobre el comando:

git merge --squash new-feature

Pero actualmente estoy trabajando en el aprendizaje del comando rebase .


Al rebasar, Git no moverá las confirmaciones a otra rama. Se moverá la rama incluyendo todos sus compromisos. Si desea obtener las confirmaciones en el maestro después de volver a basarse encima de ellas, use git merge <branch tip or commit of branch> para adelantar la derivación maestra a esa confirmación.


Vayamos por los escalones.

1 - Creamos una nueva rama de características

git checkout -b new-feature

2 - Ahora puedes agregar / eliminar y actualizar lo que quieras en tu nueva sucursal

git add <new-file> git commit -am "Added new file" git rm <file-name> git commit -am "Removed a file" cat "add more stuff to file" >> <new-file> git commit -am "Updated files"

3 - A continuación, selecciona y aplasta cualquier confirmación en un bonito y bonito mensaje de confirmación

git rebase -i master

La clave que debe recordar aquí es cambiar el texto que dice "elegir" a "aplastar" para todas las confirmaciones después de la primera confirmación. Esto aplastará todos los compromisos a tu rama maestra.

4 - Seleccione la rama maestra

git checkout master

5 - Mueva el HEAD y la rama maestra a donde está la nueva función:

git rebase new-feature

Puede probar todos los comandos en esta herramienta visual: http://pcottle.github.io/learnGitBranching/