Donc, je veux être capable de sauvegarder un dépôt git qui peut avoir plusieurs branches sur un disque dur externe et être ensuite en mesure de le copier sur mon ordinateur local et de travailler avec lui comme d'habitude? J'ai essayé simplement de copier le dossier de répertoire de travail contenant le répertoire de .git et cela a fonctionné. Cependant, je me demandais si c'était la meilleure façon ou si elle avait des pièges plus tard.Quelle est la meilleure façon de sauvegarder un référentiel git entier sur un disque externe?
Répondre
La copie de l'ensemble de la copie de travail à l'aide des commandes de copie de système de fichiers standard fonctionne correctement. Vous pouvez également compresser/compresser la sauvegarde.
Si vous êtes préoccupé par l'espace disque, vous pouvez également regarder "git bundle", ce qui pourrait produire des fichiers plus petits.
Vous pouvez également obtenir des sauvegardes incrémentielles en démarrant simplement un nouveau dépôt sur le disque externe (git clone), puis en tirant les modifications à chaque fois (git pull). Il n'y a pas beaucoup de différence entre une sauvegarde et une copie de travail dans un système distribué comme git.
Il n'y a pas de piège ici, git est un SCM entièrement distribué. Copier une copie de travail avec le répertoire .git
est une sauvegarde suffisante.
C'est à peu près la seule façon de le faire, à moins de cloner le dépôt sur le disque externe. Mais l'une ou l'autre approche est à peu près équivalente, sauf que la copie de votre clone conservera tous les paramètres de configuration spécifiques au repo.
La copie de l'ensemble ou l'utilisation d'un outil de synchronisation est correcte. Le repo est entièrement contenu et portable.
Si vous n'avez aucune modification à sauvegarder dans votre arbre de travail, vous pouvez utiliser git clone --mirror
pour créer un clone nu avec toutes les références (branches, étiquettes, absolument tout) copiées textuellement. Vous pouvez ensuite utiliser git push --mirror
pour le mettre à jour de manière incrémentielle. C'est ce pour quoi il est conçu.
La copie de l'ensemble du repo, y compris l'arborescence de travail, fonctionne également, mais c'est un peu difficile à faire de manière incrémentielle et, évidemment, prend plus de place.
Tout ... sauf les espaces de noms – Izkata
Résumer,
- Vous pouvez simplement copier le répertoire putain, que cela fonctionne.
- Vous pouvez cloner.
- Vous pouvez
git bundle
ougit archive
Vous pouvez également,
- git-export rapide: http://www.kernel.org/pub/software/scm/git/docs/git-fast-export.html
que vous pouvez jeter dans un seul fichier que vous pouvez importer ultérieurement à partir .
$ git fast-export --all | (cd /empty/repository && git fast-import)
- 1. Quelle est la meilleure façon de télécharger un fichier externe sur un serveur via un programme
- 2. Quelle est la meilleure façon de remplacer remote.origin.url dans Git?
- 3. MVC2 Quelle est la meilleure façon de page, un tableau
- 4. Quelle est la meilleure façon de sauvegarder un serveur SVN pour tout le code et le contenu?
- 5. Est-il prudent de copier un référentiel SVN sur un disque dur externe?
- 6. Quelle est la meilleure façon de sauvegarder un grand entrepôt de données en temps réel?
- 7. Quelle est la meilleure façon de répliquer un référentiel de contrôle de version?
- 8. quelle est la meilleure façon de marquer un texte?
- 9. La meilleure façon de fusionner une révision git dans un référentiel mercurial?
- 10. Quelle est la meilleure façon de sauvegarder des données sur Google App Engine?
- 11. Quelle est la meilleure façon de rafraîchir un indice Nutch?
- 12. Quelle est la meilleure façon de vider un répertoire?
- 13. Quelle est la meilleure façon d'intégrer un outil de construction externe dans Eclipse?
- 14. Quelle est la meilleure façon de déboguer un Oracle SP?
- 15. quelle est la meilleure façon de créer un menu javascript?
- 16. Quelle est la meilleure façon de déboguer un écrasement explorer.exe?
- 17. Quelle est la meilleure façon de localiser un IEnumerable?
- 18. Quelle est la meilleure façon d'effacer un tableau de chaînes?
- 19. Quelle est la meilleure façon de chiffrer un clob?
- 20. Quelle est la meilleure façon de structurer un projet?
- 21. Quelle est la meilleure façon d'organiser plusieurs projets lors de l'utilisation git
- 22. En utilisant Python, quelle est la meilleure façon de créer un ensemble de fichiers sur disque pour les tests?
- 23. Quelle est la meilleure façon d'afficher un fichier long?
- 24. Quelle est la meilleure façon d'implémenter un sondage dans Joomla?
- 25. Quelle est la bonne façon de sauvegarder les blobs ZODB?
- 26. Quelle est la meilleure façon d'extraire un arbre à partir d'un dépôt git?
- 27. Quelle est la meilleure façon de créer un ID entier en cours d'exécution sur le stockage de données AppEngine?
- 28. Quelle est la meilleure façon d'avoir un Comparer générique
- 29. Quelle est la meilleure façon d'implémenter un contrôleur en PHP?
- 30. Quelle est la meilleure façon d'implémenter un délai AJAX?
Merci pour cette information élaborée. Désolé pour l'acceptation tardive. Je suis parti pour quelques jours. – racl101
J'ai du mal à implémenter votre troisième suggestion, les sauvegardes incrémentales avec git, à cause des sous-répertoires qui sont eux-mêmes versionnés, et qui sont donc vides. À http://stackoverflow.com/q/24198280/2533127. –