Git: copy de security automática de todos los commits en la creación

Hay algo que quiero. Espero que exista, y si no lo hace, podría crearlo. Lo describiré, y si sabes algo así, házmelo saber. Si no es así y usted tiene algunos consejos sobre cómo crearlo, lo agradeceré también.

Llevo años utilizando Git para mis proyectos, pero recién ahora comencé a trabajar en una gran compañía en un repository al que se comprometen unos 100 desarrolladores. Cuando trabajaba solo y en equipos pequeños, me he acostumbrado a hacer muchos commits todo el time, organizar todos los files y usar un post de compromiso vacío (sí, así es como lo hago). Básicamente usé commits como una operación de salvar extendida; cada vez que escribía una cantidad no trivial de código, lo comprometía todo y lo enviaba a una sucursal no maestra.

Ahora que trabajo en una gran compañía no puedo hacer eso, porque será una molestia para las otras personas. Así que todavía realizo confirmaciones indocumentadas frecuentes, pero cuando termino las aploop a todas por una nueva versión, les doy un buen post informativo de confirmación y envío una request de fusión con solo eso. Todos mis compromisos provisionales se eliminarán en la próxima ejecución de recogida de basura.

No me gusta cómo se eliminan todas mis confirmaciones provisionales. Pueden ser feos, pero los amo. Algunas veces tienen bits de código que he escrito y luego eliminado, y no quiero perder ese código. Quizás lo necesite nuevamente en el futuro.

Ahora, podría poner todos estos commits en una twig privada. Pero será una molestia crear y mantener un set de twigs tal. Porque significa que cada twig de características ahora necesitará otra twig auxiliar que permanecerá abierta y no fusionada para siempre. Yuck.

Lo que quiero es un sistema que ahorre cualquier compromiso hecho en Git y asegure que seguirá siendo accesible en el futuro previsible. Es importante para mí que esto sea automático, sin necesidad de tomar ninguna medida. Quiero saber que puedo volver a cualquier compromiso que hice, incluso si se perdió en una calabaza.

Existe algo como esto? ¿Alguna sugerencia para crearlo?

Una posible idea sería configurar un gancho post-commit que empujaría cada compromiso creado a un repository dedicado.

Esa inserción usaría la twig actual o, si la inserción se rechaza debido a una inserción no rápida (la twig se ha reestablecido / reescrito), a la "bifurcación_actual_1" (_2, _3 …) para mantener el historial anterior previamente sin cambios.

De esta forma, sigues usando tu repository actual de la manera normal (con rebase / reset que eventualmente puede perder confirmaciones una vez que se purga el reflog).
Sin embargo, cada compromiso que se haya creado es aún visible en ese repository de "file".