Personalmente, no creo que sea una buena idea usar un sistema de versión de control de origen para almacenar los archivos de copia de seguridad, porque el control de versión de GIT está diseñado para archivos de datos, no para archivos binarios o volcados como un archivo de volcado de copia de seguridad de MySQL . El hecho de que puedas hacerlo no significa automáticamente que debas hacerlo. Además, su repositorio, considerando una nueva copia de seguridad de la base de datos para cada nueva confirmación, crecerá dramáticamente, utilizando una gran cantidad de espacio en el disco duro y el rendimiento de GIT se verá afectado, resultando en un sistema de control de fuente lento.
Para mí está bien ejecutar una estrategia de copia de seguridad y tener siempre listo un archivo de copia de seguridad cuando necesite restaurar la base de datos cuando algo de su código no funcione, pero las herramientas de control de origen no están diseñadas para almacenar datos binarios.
Por estos motivos, no veo ninguna utilidad para almacenar los archivos de copia de seguridad para el día 1 y para el día 2, y luego ver las diferencias entre los dos archivos de copia de seguridad. Requerirá un montón de trabajo extra e inútil. En lugar de usar GIT para almacenar las copias de seguridad de la base de datos cuando confirma un nuevo código, almacene las copias de seguridad de la base de datos en una ruta diferente, separadas por fecha y hora, e inserte en su código alguna referencia a las nuevas copias de seguridad de la base de datos creadas para cada versión, usando las etiquetas, como alguien ya sugirió.
Mi nota final sobre las copias de seguridad de la base de datos y GIT : un administrador de la base de datos, cuando necesita restaurar una base de datos porque se han perdido algunos datos, no necesita verificar las diferencias entre el archivo de copia de seguridad para el día 1 y el archivo de respaldo para el día 2, solo necesita saber cuál es el último archivo de respaldo que le permitirá restaurar la base de datos, sin ningún error ni pérdida de datos, lo que reduce el tiempo de inactividad. De hecho, la tarea de un administrador de base de datos es hacer que los datos estén disponibles para la recuperación lo antes posible, cuando el sistema, por alguna razón, falla. Si almacena las copias de seguridad de la base de datos en GIT, vinculadas a sus confirmaciones, no permite que el administrador de la base de datos restaure los datos rápidamente, ya que sus copias de seguridad están limitadas a los puntos en el tiempo que almacenó en el repositorio de GIT, y reduce el tiempo de inactividad. del sistema, porque el rendimiento de su repositorio GIT se reducirá drásticamente al tener una gran cantidad de datos para almacenar.
Entonces, no recomiendo almacenar las copias de seguridad utilizando GIT, en su lugar use una buena solución de software de copia de seguridad (hay algunas de ellas aquí ), que proporcionará más granularidad y le permitirá mantener sus datos seguros y protegidos, y hacer que su recuperación de datos sea simple y rápida en caso de desastres.