Squash se compromete según el autor

En un repository hay una gran cantidad de confirmaciones causadas por actualizaciones automatizadas de la herramienta de compilation de los files de AssemblyInfo (el proyecto está en C #). Todos estos commits tienen "Dev BuildAgent" como autor.

¿Hay alguna manera de aplastar todas las confirmaciones en un repository de un autor específico en el primer hijo de otro autor?

Por supuesto, una posibilidad sería ejecutar git rebase --interactive utilizando el SHA de la confirmación de git rebase --interactive manualmente la list de confirmaciones y aplicar el command squash al compromiso apropiado manualmente. Sin embargo, sería útil saber si hay una opción más rápida, teniendo en count que hay una gran cantidad de confirmaciones.

Para aplastar todas las confirmaciones del autor con el correo electrónico [email protected] en el siguiente compromiso hijo de otro autor, puede usar lo siguiente. Por supuesto, también puede verificar cualquier otro atributo como el nombre del autor, el correo electrónico del comprometido, el nombre del comitente, …

 git filter-branch --commit-filter '[ "$GIT_AUTHOR_EMAIL" = "[email protected]" ] && skip_commit "[email protected]" || git commit-tree "[email protected]"'