184 votes

Entièrement sauvegarde d'un repo git?

Est-il un moyen simple de sauvegarder l'intégralité d'un repo git, y compris toutes les branches et les tags?

251voto

VonC Points 414372
git bundle

J'aime cette méthode, car les résultats sont seulement un fichier, plus facile à copier autour.
Voir ProGit: petit paquet de joie.
Voir aussi "Comment puis-je envoyer un email à quelqu'un un dépôt git?", où la commande

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

est détaillé:

git bundle ne paquet de références qui sont représentés par git show-ref: cela comprend les chefs, les balises, et à distance de la tête.
Il est très important que la base utilisée sera tenue par la destination.
Il est normal de se tromper sur le côté de la prudence, provoquant le fichier bundle contenant les objets déjà dans la destination, que celles-ci sont ignorées lors du déballage à la destination.


Pour utiliser ce module, vous pouvez le copier, la spécification d'un dossier inexistant (en dehors de toute repo git):

git clone /tmp/foo-all newFolder

75voto

KingCrunch Points 45168

Ce qui est sur il suffit de faire un clone de celui-ci?

git clone other/repo.git

Chaque référentiel est une sauvegarde de son à distance.

28voto

fantabolous Points 431

L'expansion de certaines autres réponses, c'est ce que je fais:

Le programme d'installation le repo: git clone --mirror user@server:/url-to-repo.git

Puis, quand vous voulez vous rafraîchir la sauvegarde: git remote update du clone emplacement.

Cela nous conforte dans toutes les branches et les tags, y compris les nouveaux qui seront ajoutés plus tard, mais il est intéressant de noter que les branches qui sont supprimés ne sont pas supprimés à partir du clone (qui pour une sauvegarde peut être une bonne chose).

C'est atomique, donc qui n'ont pas de problèmes qu'une simple copie.

Voir http://www.garron.me/en/bits/backup-git-bare-repo.html

6voto

Sunil Khiatani Points 121

l'utilisation de git bundle, ou clone

copier le répertoire git n'est pas une bonne solution car il n'est pas atomique. Si vous avez un grand dépôt qui prend beaucoup de temps à copier et quelqu'un pousse dans votre référentiel, il aura une incidence sur votre dos vers le haut. Le clonage ou de faire un bundle n'aurez pas ce problème.

5voto

Oren Points 2222

Tout est contenu dans l' .git répertoire. Tout juste de retour que le long avec votre projet comme vous le feriez pour n'importe quel fichier.

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