Utilisation de git bundle

Le git bundle permet de déplacer des petites portions d'objets et de références entre deux dépots git sans connexion internet.

Créer un Bundle

Depuis le dépôt où vous souhaitez creer un bundle vous pouvez faire la commande suivante :

cd /mon/depot/source/
git bundle create master.b master~3..master

crée un bundle nommé master.b avec le commit courant dans master et les trois commits précédents de la branche master

Vérifier un Bundle

Depuis le dépôt où vous souhaitez récuperer le bundle vous pouvez vérifier qu'il est possible de le récupérer

cd /mon/depot/destination/
git bundle verify master.b

Récupérer un Bundle

Depuis le dépot destination vous pouvez fetcher le bundle comme sur un dépôt distant normal. Attention avant de récupérer un bundle veillez à ne pas vous trouver sur la branche que souhaitez fetcher.

cd /mon/depot/destination
git checkout -B tmp #pour passer sur une branche temporaire 
git fetch /mon/depot/source/master.b master:master # master:master indique que l'on veut la branche master du bundle dans la branche master de notre dépôt
git checkout master
git branch -d tmp #pour supprimer la branche temporaire

Sources