166 votes

Comment sauvegarder un dépôt Git local ?

J'utilise git sur un projet relativement petit et je trouve que zipper le contenu du répertoire .git peut être un bon moyen de sauvegarder le projet. Mais c'est un peu bizarre parce que, quand je restaure, la première chose que je dois faire c'est git reset --hard .

Y a-t-il des problèmes pour sauvegarder un repo git de cette manière ? Y a-t-il un meilleur moyen de le faire (par exemple, un format git portable ou quelque chose de similaire) ?

0 votes

Pourquoi personne n'a donné la réponse évidente d'utiliser git bundle ? ??

0 votes

@gatopeich ils l'ont fait. Faites défiler vers le bas.

2 votes

Toutes les réponses votées contiennent un mur de texte sur les scripts, même celle qui commence à mentionner git bundle

7voto

gatopeich Points 474

J'ai trouvé la méthode officielle simple après avoir parcouru les murs de texte ci-dessus qui vous feraient croire qu'il n'y en a pas.

Créez une offre complète avec :

$ git bundle create <filename> --all

Le restaurer avec :

$ git clone <filename> <folder>

Cette opération est atomique AFAIK. Vérifier documents officiels pour les détails concrets.

En ce qui concerne "zip" : les paquets git sont compressés et étonnamment petits par rapport à la taille du dossier .git.

6voto

Quanlong Points 28

Vous pouvez sauvegarder le repo git avec git-copy . git-copy a sauvegardé le nouveau projet en tant que bare repo, ce qui signifie un coût de stockage minimum.

git copy /path/to/project /backup/project.backup

Vous pouvez ensuite restaurer votre projet avec git clone

git clone /backup/project.backup project

0voto

NoobEditor Points 7159

Je suis arrivé à cette question par le biais de Google.

Voici ce que j'ai fait le plus simplement du monde.

git checkout branch_to_clone

puis créer une nouvelle branche git à partir de cette branche

git checkout -b new_cloned_branch
Switched to branch 'new_cloned_branch'

revenir à la branche d'origine et continuer :

git checkout branch_to_clone

En supposant que vous vous soyez trompé et que vous ayez besoin de restaurer quelque chose à partir d'une branche de sauvegarde :

git checkout new_cloned_branch -- <filepath>  #notice the space before and after "--"

Le plus intéressant, c'est qu'en cas de problème, il suffit de supprimer la branche source et de revenir à la branche de sauvegarde !

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