Miroir automatique d'un dépôt git
L'un des effets secondaires de L'utilisation d'un dépôt Subversion externe était d'obtenir des sauvegardes automatiques hors site à chaque validation.
Je voudrais réaliser la même chose en utilisant Git.
C'est-à-dire que chaque commit dans mon référentiel local s'engage automatiquement dans un référentiel externe afin que les deux référentiels soient toujours synchronisés.
J'imagine qu'un crochet post-commit serait la voie à suivre. Quelqu'un a-t-il des exemples spécifiques de cela?
1 réponses
J'ai écrit un crochet post-commit à cette fin. Le hook lui-même est simple; il suffit d'ajouter un fichier nommé post-commit
à votre répertoire .git/hooks/
avec le contenu suivant:
git push my_remote
Le fichier post-commit
doit être exécutable. Assurez-vous également d'ajouter un référentiel distant approprié avec le nom my_remote
pour que ce crochet fonctionne.
J'ai également créé un lien symbolique nommé post-merge
qui pointe vers post-commit
. Cette option est facultative. Si vous faites cela, vous synchroniserez automatiquement après les fusions.
UPDATE: Si vous voulez vous assurer que votre serveur et votre miroir ne sont pas synchronisés et que toutes les branches sont également sauvegardées, votre crochet post-commit
peut utiliser:
git push my_remote -f --mirror