Baptiste Fontaine’s (old) Blog

Synchroniser deux dépôts Git en local

Il peut parfois être utile de synchroniser des dépôts Git sur diverses machines en local. Par exemple, si l’on possède un compte Github, et que l’une des machines n’a pas accès à Internet (c’est mon cas temporairement), on peut se synchroniser avec Github avec la machine connectée, puis synchroniser celle-ci avec la machine hors ligne.

Imaginons que l’on ai un ordinateur portable ayant accès à internet, accessible en local à l’adresse IP 192.168.1.20, et un ordinateur fixe accessible en local à l’adresse IP 192.168.1.21. Chacun de ces ordinateurs a un dépôt Git situé en /home/toto/MonProgTropBien/. Il suffit d’utiliser git remote add, pour ajouter un dépôt distant sur chacun des ordinateurs.

La syntaxe est la suivante (il faut être dans le répertoire du dépôt Git) :

git remote add <nom-remote> <nom-utilisateur>@<adresse>:<chemin-distant>

On tape donc la commande suivante sur le fixe :

git remote add laptop toto@192.168.1.20:/home/toto/MonProgTropBien

La commande est similaire sur le portable :

git remote add fixe toto@192.168.1.21:/home/toto/MonProgTropBien

Ensuite, il suffit de se placer dans le répertoire du dépôt Git, et d’utiliser git push fixe sur le portable (ou git pull laptop sur le fixe) pour envoyer les modifications sur le fixe, et git pull fixe pour l’inverse (git push laptop depuis le fixe). La commande git add remote ne doit être exécutée que la première fois.

Cette manipulation permet également de synchroniser deux dépôts sur la même machine (utilisez la syntaxe git remote add <nom> <chemin-de-l'autre-dépôt>).