¿Cuál es la mejor manera de realizar una copy de security de un repository completo de git en un disco externo?

Entonces, ¿quiero hacer una copy de security de un repository git que puede tener varias ramificaciones en un disco duro externo y luego ser capaz de copyrlo nuevamente en mi máquina local y trabajar con él como de costumbre? Intenté simplemente copyr la carpeta del directory de trabajo que contenía el directory .git y funcionó. Sin embargo, me preguntaba si esta era la mejor manera o si tenía dificultades más adelante.

Copiar toda la copy de trabajo utilizando los commands de copy de sistema de files normales funciona bien. También puede comprimir / atacar la copy de security.

Si le preocupa el espacio en disco, también puede consultar " package git ", que podría producir files más pequeños.

También puede get copys de security incrementales simplemente comenzando un nuevo repository en el disco externo (clone de git) y luego extraiga los cambios cada vez (extracción de git). No hay mucha diferencia entre una copy de security y una copy de trabajo en un sistema distribuido como git.

Si no tiene ningún cambio para hacer una copy de security en su tree de trabajo, puede usar git clone --mirror para crear un clon desnudo con todas las references (twigs, tags, absolutamente todo) copydas textualmente. A continuación, puede usar git push --mirror para mantenerlo actualizado de forma incremental. Esto es para lo que está diseñado.

Copiar todo el repository, incluido el tree de trabajo, también funciona, pero es un poco difícil hacerlo de forma incremental, y obviamente ocupa más espacio.

Esa es la única forma de hacerlo, salvo la clonación del repository en el disco externo. Pero cualquiera de los enfoques es aproximadamente equivalente, excepto que la copy de su clon conservará las configuraciones de configuration específicas del repository.

Resumiendo,

  • Puedes copyr el maldito directory, seguro que funciona.
  • Puedes clonar
  • Puedes git bundle o git archive

Tú también puedes,

que puedes volcar en un único file desde el que puedes importar más tarde.

 $ git fast-export --all | (cd /empty/repository && git fast-import) 

No hay trampa aquí, git es un SCM completamente distribuido. Copiar una copy de trabajo con el directory .git es suficiente copy de security.

Copiar todo o usar una herramienta de synchronization está bien. El repository está completamente contenido y es portátil.