Este artículo le elaborará cómo aplastar todos los compromisos en un solo compromiso en GIT. Hemos implementado todos los pasos en la distribución CentOS 8 Linux.
Squash se compromete a uno con Git
Puede implementar el aplastamiento de Git en los siguientes pasos:
Paso 1: Elija Comenzar Commit
Para determinar cuántos compromisos necesita aplastar, el siguiente comando que ejecutará en la terminal:
Log de $ gitAhora, invocará el git para comenzar una sesión de Rebase interactiva utilizando el siguiente comando:
$ git rebase -i head ~ nEn la cabeza anterior, el 'n' es el número total de confirmaciones que ha determinado a partir del comando 'git log'. Supongamos que el número de compromisos es 4. Ahora, el comando cambiará a la siguiente forma:
$ Git Rebase -i Head ~ 4La siguiente lista de Commits se mostrará en la terminal donde cada uno se compromete mirando con la palabra selección.
Paso 2: Cambiar la elección en calabaza
Aquí, marcaremos todos los compromisos como aplastables, dejaremos la primera confirmación que se utilizará como punto de partida. Por lo tanto, cambie el editor VIM en el modo de inserción presionando 'I' y cambie el compromiso de todas las selecciones, excepto el primer commit. Ahora, presione 'ESC' para cambiar el modo de inserción y presione ': WQ!'Para guardar todos los cambios y renunciar. Si está utilizando el editor de texto simple, simplemente puede cambiar la palabra 'seleccionar' en la 'squash' y guardar cambios. Después de eso, verá la siguiente ventana en el terminal:
Cuando deje este shell, verá los siguientes mensajes en la ventana del terminal:
Si puede aplastar todo, verá todos los compromisos combinados en una sola declaración de confirmación que se mostrará en el terminal:
Conclusión
Al usar la calabaza GIT, puede aplastar o comprimir fácilmente muchos compromisos en un comandante único más pequeño. Puede usar esta técnica para corregir los errores de ortografía de la documentación. Hemos implementado Git Squash en este artículo. También hemos visto cómo podemos hacer que la historia sea limpia usando los comandos Git Rebase y Squash.