Kewix blog - Tag - vcsTout un tas de choses utiles sur l'administration de systèmes linux. En français!2016-03-04T10:04:24+01:00Mickaël Fradinurn:md5:4c0c1092a569c03a14e39ce48d4e98acDotclearCopie parfaite d'un repository GIT distanturn:md5:4e52ce0b47823e77d19b42b68461a5d62009-02-03T10:51:00+01:002009-02-03T11:01:46+01:00Mickael FradinServeurgitvcs <h2>Copie parfaite d'un repository distant</h2>
<p>J'utilise un gestionnaire de projets avec gestion de repository GIT,mais pour l'utiliser il faut que le repository GIT soit sur le même serveur.
Dans mon cas où j'ai mon repo sur un autre serveur, il fallait donc que je trouve le moyen d'avoir une copie du repo distant tout le temps à jour.
Le but est de récuperer une branche de travail distante en mode "bare" et la synchroniser comme une copie parfaite.</p>
<h2>Le code</h2>
<pre>
# Récupère l'archive
git clone --bare ssh://user@serveur.kewix.fr/var/www/myproject
# Mise à jour de la branche avec les mêmes références que la branche d'origine
cd myproject
git fetch ssh://user@serveur.kewix.fr/var/www/myproject +refs/heads/*:refs/heads/*
</pre>
<p>Toute la magie est dans l'utilisation des wildcards (*) et du (+) qui permet d'écraser tout ce qu'on a sur la branche locale et même nos propres commits s'il y en a. De cette façon nous avons une copie parfaite du travail réalisé sur la branche distante.</p>
<p>Et voilà, il suffit juste maintenant de rajouter dans un petit cron de la synchro pour que cela se fasse automatiquement !</p>
<h2>Sources</h2>
<p><a href="http://kerneltrap.org/index.php?q=mailarchive/git/2007/7/17/251831" hreflang="en">http://kerneltrap.org</a></p>