Actualmente estoy trabajando para migrar una aplicación grande a un server de compilation. Cada avance en nuestro repository de Git activará una nueva compilation que buildá y realizará testings, todo con la ayuda de una variedad de scripts ubicados en mi proyecto.
A partir de ahora, estoy haciendo modificaciones a mis scripts localmente, y luego los presiono a Git cada vez. Como habrías adivinado, esto está haciendo que mi logging de commits esté increíblemente repleto de muchas ediciones menores que tienen posts de confirmación idénticos.
Esto es lo que estoy haciendo después de cada cambio menor:
git add .;git add -A;git commit -m "Trigger Bamboo build.";git push
Idealmente, me gustaría fusionar todos los commits relacionados con mis cambios de compilation en uno solo.
¿Cómo puedo ayudar a controlar este problema?
Agregue una label a la última confirmación sin testing
git tag backup
Entonces continúa trabajando como lo hiciste
git add .;git add -A;git commit -m "Trigger Bamboo build.";git push
Una vez que haya encontrado una configuration de Bamboo que funcione para usted, revertir los cambios locales volviendo a la confirmación que etiquetó anteriormente
git reset --hard backup
Finalmente, revierte tu control remoto también (suponiendo que puedas usar git push -f
)
git push -f
EDITAR:
Si tu confirmación fue realmente significativa y no quieres descartarla, lo que sucedería utilizando el método descrito anteriormente, podrías usar el rebase de manera interactiva.
git rebase -i backup
y cambiar pick
to squash
para todos less la última input en la list. Esto fusionará todas las confirmaciones entre la backup
la label y la HEAD actual en una confirmación. Los detalles se pueden encontrar en el libro de git o en este [tutorial de Atlassian]
ACTUALIZAR:
También puede configurar Bamboo use schedule builds: