git bundle

Administración

Empaqueta commits y ramas en un solo archivo


El comando 'git bundle' empaqueta commits, ramas y tags en un solo archivo. El archivo se comporta como un remoto: puedes clonar o hacer fetch desde él. Así se mueve un repositorio sin red — en una memoria USB, por correo, a una red aislada. Un bundle incremental (A..B) solo lleva los commits nuevos y requiere los antiguos en el lado receptor.

Sinopsis

git bundle create <file> <git-rev-list-args>
git bundle verify <file>
git bundle list-heads <file>
git bundle unbundle <file>
[ ] opcional| o<arg> valor a sustituir... repetible--flag opción

Opciones

Haz clic en una opción para desplegarla

Principiante (2)

Comprueba un bundle: sus refs, lo que requiere y si este repositorio puede usarlo.

RecomendadoAsegurarse de que el bundle está completo para este repositorio

Ejemplo

git bundle verify shop.bundle

Lista las ramas y tags dentro de un bundle.

Cuando haga faltaVer qué puedes traer de un bundle

Ejemplo

git bundle list-heads shop.bundle

Elegir la opción adecuada

Formas de mover un repositorio

Con y sin red

ComandoNecesita red
git push / git clone <url>Sí
git bundle + copy the fileNo

Ejemplos

Empaquetar una rama

git bundle create shop.bundle main

Todos los commits de main.


Clonar desde él

git clone shop.bundle shop

Un repositorio a partir del archivo.


Incremental

git bundle create update.bundle v1.0..main

Solo los commits posteriores a v1.0.

Ejemplos de flujos de trabajo

1
git bundle create shop.bundle --all

Empaquetarlo todo

2
git clone shop.bundle shop

Desempaquetarlo en el otro ordenador

Solución de problemas

error: Repository lacks these prerequisite commits

Causa: El bundle es incremental

Consigue un bundle completo, o trae antes el historial que falta

Consejos y trampas

Buenas prácticas

  • ✓Ejecuta git bundle verify antes de enviar un bundle.

Errores comunes

  • ✗Crear un bundle incremental para alguien al que le faltan los commits antiguos — verify indica lo que se requiere.

Preguntas frecuentes

A:

Puede serlo: git bundle create backup.bundle --all captura todas las ramas y tags.