repositorio remote que origin example eliminar ejemplo crear git backup restore

remote - Restaurando el repositorio git desde la copia de seguridad del paquete



git remote (3)

El paquete no contiene archivos, sino deltas , necesita la base para recrear el contenido del archivo. Tienes que clonar primero, desagrupar después. Inicial en lugar de clonación permitida solo en el caso, donde el paquete requiere 0 refs

No ignore la git bundle verify antes de desagregar

git-bundle (1) - Página de manual de Linux

Se utiliza para verificar que un archivo de paquete es válido y se aplicará limpiamente al repositorio actual. Esto incluye comprobaciones en el propio formato del paquete, así como la verificación de que los requisitos previos existen y están completamente vinculados en el repositorio actual. git bundle imprime una lista de confirmaciones faltantes, si las hay, y sale con un estado distinto de cero.

Si está creando el repositorio, puede clonar el paquete como si fuera un repositorio remoto en lugar de crear un repositorio vacío y luego extraer o recuperar objetos del paquete.

Creé copias de seguridad de mi repositorio git como en ¿Cómo hacer una copia de seguridad de un repositorio Git local? propuesto con

git bundle create /tmp/foo-all --all

Puedo ver que todas las referencias están allí, incluida una referencia remota creada por git-svn. Ahora no puedo averiguar cómo restaurar este paquete a un repositorio local de nuevo. Estoy bastante seguro de que ya lo he hecho una vez. Intenté git-clone pero eso me da un repositorio con mi paquete de respaldo como repositorio remoto.

Yo tambien lo intenté

git init git bundle unbundle /tmp/foo --all

pero esto solo enumera todas las referencias ...

Verificando el paquete da:

$ git bundle verify $somewhere/foo.bundle The bundle contains 12 refs xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/master xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/xxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/remotes/git-svn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEAD The bundle requires these 0 ref $somewhere/foo.bundle is okay


I versión más reciente de git es suficiente para hacer:

git clone bundle.file

los comandos completos:

mkdir ~/git cd ~/git git clone /path/to/bundle.file

Restaurará completamente el contenido del repositorio de git Your (que se compilará como fuente normal). No necesitas ningún otro archivo. El archivo de paquete es suficiente.

Es aconsejable verificar siempre el archivo de paquete antes de desagruparlo de la siguiente manera:

git bundle verify /path/to/bundle.file


Respuesta corta:

$ git bundle verify $somewhere/foo.bundle $ git clone $somewhere/foo.bundle Cloning into ''foo''... Receiving objects: 100% (10133/10133), 82.03 MiB | 74.25 MiB/s, done. Resolving deltas: 100% (5436/5436), done. $ cd foo $ git status ...

Lazy Badger dijo esto, pero está en el último párrafo. :)