2012-02-17 1195 views
7

A menudo respaldo mi computadora portátil a un disco duro externo. ¿Rsyncing git reposa sobre una solución de respaldo suficientemente buena o hay algún problema con este método?¿Rsyncing git repo es una solución de copia de seguridad lo suficientemente buena?

+0

podrías usar algo como bitbucket si necesitas repositorios privados y usar eso como una copia de seguridad ... – three

+0

@three No confío en terceros cuando se trata de mi código fuente – DavidW

+0

, entonces simplemente rsyncíalo a un local disco duro. Asegúrese de que en caso de incendio no se destruya el disco duro externo. – three

Respuesta

6

rsync es una buena solución para esto. Puede ser una buena idea ejecutar git gc y git repack (ninguno con argumentos) antes de hacer su copia de seguridad; esto puede reducir significativamente la cantidad de archivos y aumentar las posibilidades de que los datos no cambien demasiado la próxima vez. Ninguno perderá ningún dato.

Consulte http://sethrobertson.github.com/GitBestPractices/#backups para ver un resumen de por qué hacer esto con git no es una buena solución.

+1

Gran ventaja de usar 'rsync' (o' tar' o lo que sea) vs. 'git clone':' clone' no clona cosas locales como stashes. –

0

Tengo un repositorio Continúo siendo el anfitrión al que presiono. Si quiero trabajar en algún lugar, lo clono, empuje los cambios hacia atrás cuando termine.

Podrías sincronizarlo también, pero me resultó más fácil clonar un repo y luego usarlo como mi principal punto de desarrollo. Creo que usar una herramienta puede ser más fácil, pero su kilometraje puede variar.

+0

¿Estaba preguntando sobre hacer una copia de seguridad, sin trabajar con el repositorio? –

2

rsync es interesante si realmente desea realizar una copia de seguridad de todo (incluidos los archivos privados y los ganchos). Sin embargo
:

  • que no garantiza la integridad de tu repositorio vez sync'ed (es decir, se git sigue trabajando desde el repositorio rsync'ed?)
  • que tiene una mayor probabilidad de la corrupción de datos (hay que salvar muchos muchos archivos)

a (más limpio y) mejor solución sería utilizar git bundle (que es esencialmente un acuerdo de recompra de barras se es como un archivo).
Actualiza su paquete local y guarda rsync en su medio remoto.
Excepto que, esta vez, usted solo "rsync" (en realidad, una simple copia es suficiente) un archivo.
Y puede clonar directamente o extraer de ese único archivo, ese paquete.

+0

Sí, git funciona bien en "copias manuales" de repositorios. – ignis

+0

¿Un archivo?!? ¡Ese va a ser un archivo ENORME para transferir diariamente! –

+1

@Ale el paquete puede ser incremental: sigue siendo un archivo, pero mucho más pequeño. – VonC

Cuestiones relacionadas