Cómo proteger una carpeta que contiene un historial de git

Estoy usando git para realizar un seguimiento de los proyectos de escritura y otros trabajos personales en mi propia PC (ejecutando una versión de Ubuntu).

Aunque mi trabajo está siendo controlado por la versión, me preocupa que algún día pueda perder toda la carpeta (que contiene su file .git y el trabajo en sí) en caso de error o falla técnica.

¿Cuál es la mejor manera de proteger o respaldar el trabajo? (Aparte de copyr toda la carpeta a otra unidad).

Puede realizar fácilmente una copy de security de su trabajo utilizando Git.

Podría proponer tres forms de hacerlo:

  • Haga una copy de security periódica de su repository en un pen drive:

    • Conecte una unidad flash a su PC;
    • git init --bare un repository en él;
    • Añádalo como un control remoto con nombre en su repository principal:

       git remote add --mirror=push pendrive /media/that_drive_id 

      Esa --mirror=push de línea de command asegurará que una simple llamada a git push pendrive sea ​​suficiente para empujar todo lo que se pueda presionar.

    • Haz una copy de security de tu repository usando algo como

       git push pendrive 
    • Desmonta la unidad.

    La próxima vez que vaya a hacer una copy de security, conecte el disco y luego haga

      git push pendrive 
  • Otra opción es usar el command git-bundle que se puede usar para exportar el repository completo (con historial) a un único file que luego se puede copyr a un almacenamiento externo.

    Este enfoque se ve superficialmente más simple que el primero, pero su simplicidad tiene un costo:

    • Sin copys de security incrementales: mientras que git-bundle se puede usar para exportar solo partes específicas del historial, debe conservar lo que se guardó por última vez en alguna parte, y esto es obviamente inconveniente y propenso a errores.
    • Si el repository crece a gran escala, cada "agrupamiento" creará un file grande.
  • A less que tus cosas sean realmente privadas (como passwords) compra un plan de alojamiento privado de un proveedor de Git y crea un espejo en tu repository allí.

    La duplicación se configura exactamente de la misma manera que para el enfoque pendrive, simplemente la URL de Git será obviamente diferente.

Personalmente, me gusta el enfoque pendrive mejor.