un dossier local comme dépôt distant

Pourquoi faire?

C’est vrai, ça. Pourquoi vouloir faire d’un dossier local un dépôt distant ? Un dépôt distant ne doit-il pas être l’exact opposé d’un dossier local ?

Si, mais vous allez voir, il y a une subtilité.

Le problème

Vous le savez, je suis un utilisateur d'[]os, notamment de MacOs. C’est un écosystème que j’affectionne particulièrement, grâce à son noyau Unix me permettant d’être dans un environnement entre Linux et Windows – oui, il faut le dire vite.

MacOs possède une fonctionnalité intéressante : iCloud. Certains de mes dossiers sont synchronisés, accessibles sur tous mes appareils.

Problème : iCloud optimise l’espace disponible sur mon disque dur en envoyant dans le cloud les documents peu utilisés. Selon lui. Quand on développe une application, un site Internet, ou n’importe quoi, il n’est pas rare d’avoir des centaines ou des milliers de fichiers, et il arrive que MacOs se dise Il n’a pas besoin de ces fichiers… Allez hop ! Dans le cloud !

Du coup, pour le dev, il est quasi impossible de travailler dans un dossier synchronisé avec iCloud. Alors comment avoir à disposition mes documents de travail dans ces conditions ?

La première solution (qui ne me convient pas)

La première solution, la solution de facilité, c’est de faire un dépôt sur un service comme GitHub ou Bitbucket.

C’est une solution qui ne me convient pas parce qu’il m’arrive que mes projets soient des petits bouts de code, des petits trucs pour me former sur une technologies. Et franchement, me logger sur une plateforme, paramétrer le dépôt sur le site, et tutti quanti… flemme.

La solution

La solution que j’ai trouvé, c’est d’utiliser un autre service de cloud.

J’utilise Creative Cloud, fourni par Adobe, qui offre un espace de stockage tout comme iCloud. Enfin, presque tout : pas d’optimisation, les documents sont toujours disponibles sur la machine.

D’où le dossier local comme dépôt distant.

Comment faire

Dans le dossier Creative Cloud

mkdir <mon projet.git>
cd <mon projet.git>
git init --bare
git symbolic-ref HEAD refs/head/main

Dans le dossier de travail

Si le dossier n’est pas encore un dépôt
git init
git add .
git commit -m "Premier commit"
Définir le dépôt Creactive Cloud comme dépôt distant
git remote add <nom du dépôt> <chemin/vers/le depot/creative cloud/nom du projet.git>
git branch -M main
git push [-u] <nom du dépôt> main
CatégoriesdevÉtiquettes