93 votes

Comment envoyer par courriel un dépôt git à quelqu'un ?

J'ai essayé :

git archive HEAD --format=zip > archive.zip

:et ensuite j'envoie par email archive.zip et à l'autre bout ils décompressent archive.zip dans un dossier. Mais lorsqu'ils essaient une commande git, ils découvrent que cela ne produit pas un dépôt git valide.

23 votes

Pour les autres qui trouveront ceci : la raison pour laquelle git archive n'est pas adapté à ce travail est qu'il n'empaquette que l'arbre de travail. C'est pour faire des choses comme faire un tarball de toutes vos sources, pour la distribution.

126voto

VonC Points 414372

Vous pourriez utiliser git bundle et envoyer par e-mail un seul fichier

Voir " sauvegarde d'un projet qui utilise git "

Un bundle git n'est qu'un fichier qui peut être très facilement créé et importé car il peut être traité comme une autre télécommande.

Une fois reçu, vous pouvez le cloner ou aller chercher dans ce fichier.

Comme mentionné dans " Sauvegarde du repo github ", vous voudrez probablement pour le premier email faire votre paquet avec tous branches :

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

Comme Andreas dans les commentaires, Scott Chacon J'ai récemment (mars 2010) écrit un article "mignon" sur ce sujet dans l'édition du Le blog de ProGit :

Le petit paquet de joie de Git

0 votes

Merci. Je l'ai lu mais ce n'était pas clair si tout mon historique et mes branches sont sauvegardés. En outre, cela me permet-il de fusionner les deux dépôts à une date ultérieure ?

3 votes

@Zubair : oui, tout l'historique est sauvegardé, contrairement à git archive !

2 votes

Merci. J'ai compris : git init, et ensuite : git pull bundle.bdl master

7voto

Manu Points 1725

Comme l'a dit la réponse précédente, bundle git est le chemin.

Si vous voulez créer un paquet à partir d'une seule branche (je préfère regrouper seulement main ) et l'envoyer par e-mail, vous pouvez faire quelque chose comme ci-dessous :

git bundle create ~/mygitbackup.bundle main

Ce qui précède va créer un fichier bundle git dans votre répertoire personnel.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X