Estrategia para desplegar cambios entre ramas del servidor con Squash
Objetivo
El objetivo de este comando de Git (aplastar) es hacer que los Commits que se hayan realizado en una determinada rama, se compongan de un solo Commit el cual contendrá todos los Commits realizados los cuales se registraran en la rama a desplegar.
Esto nos permite llevar un mejor control del trabajo realizado, ya que en el historial de despliegue se mostraran los Commits que componen dicho despliegue en la rama.
Cambio de editor para commits
El editor Vim es el predeterminado para proporcionar los mensajes cuando se realizan los commits.
Para cambiar el editor predeterminado, debemos proporcionar las siguientes instrucciones:
Paso | Comentario | Instrucción Git | Ejemplo |
1 | Iniciar Git Bash Here. | ||
2 | Como ejemplo definimos el editor Notepad++ como editor predeterminado. Se debe proporcionar la ubicación y nombre del editor ejecutable a utilizar. | $ git config --global core.editor "'C:\Program Files\Notepad++\notepad++.exe'" |
Despliegue en ramas con Squash
Como ejemplo realizaremos un pase de la rama de Desarrollo a QA:
Paso | Comentario | Instrucción Git | Ejemplo |
1 | Investigar con la persona encargada del área de Qa si es posible realizar el pase por pruebas pendientes actuales que haya con el proyecto. | ||
2 | Iniciar Git Bash Here. | ||
3 | Realizar un cambio a la rama origen de donde se va a tomar información para despliegue. | $ git checkout development | |
4 | Descargar los últimos cambios del repositorio a la rama origen local. | $ git pull origin development | |
5 | Realizar cambio a la rama destino en donde se va hacer el despliegue. | $ git checkout qa | |
6 | Descargar los últimos cambios del repositorio a la rama destino local. | $ git pull origin qa | |
7 | Realizar el Squash en la rama destino en base a los artefactos de la rama origen (DLL's, Actualizaciones de librerías, componentes, etc). | $ git merge --squash --strategy recursive --strategy-option theirs origin/development | |
8 | Agregamos los archivos en la rama destino. | $ git add . | |
9 | Realizar el Commit en la rama destino. | $ git commit | |
10 | En este punto se abrirá el editor predeterminado en el cual se proporcionara un comentario sobre el Commit a realizar. | ||
11 | Procederemos a guardar los comentarios sobre el Commit a realizar. | En el caso de usar el editor predeterminado Vim presionar la tecla Esc + :wq! | |
12 | Subiremos los cambios del despliegue a la rama destino. | $ git push origin qa |