Miroir un dépôt git en tirant?
je me demande s'il n'y a pas un moyen facile, c'est-à-dire comme une simple tâche cron, de tirer d'un dépôt Git distant vers un miroir local en lecture seule à des fins de sauvegarde?
idéalement, il tirerait toutes les branches et étiquettes, mais le maître/tronc/tête serait suffisant.
j'ai juste besoin d'un moyen de m'assurer que si le serveur maître git meurt, nous avons un emplacement de sauvegarde que nous pourrions échouer manuellement.
3 réponses
créer D'abord un miroir avec
git clone --mirror git@somewhere.com:repo.git
puis configurer un travail cron comme ceci:
*/1 * * * * gitbackup cd /backup/repo.git && git fetch -q --tags
cela va sauvegarder les changesets chaque minute. Peut-être que tu veux faire ça moins souvent.
comme Andrew l'a noté, chaque clone d'un git repo est une sauvegarde complète de la repo. Cela dit, si vous voulez que quelque chose soit sauvegardé automatiquement sur une machine particulière, vous pouvez créer un repo nu sur le serveur de sauvegarde, y pousser avec toutes les branches que vous voulez sauvegarder afin de le remplir initialement. Puis il suffit de configurer un crochet de mise à jour post sur le "main" repo de sorte que dès qu'il y a des propagations enfoncées, il va de l'avant et les pousse vers le repo de sauvegarde. Pas besoin d'un emploi cron ou rsync, et c'est une copie presque en direct.
vous avez un accès direct au serveur? alors vous pourriez juste rsync
le .git
répertoire