Créer un dépôt Git centralisé sur serveur distant

logo git

Plusieurs raisons peuvent vous amenez à faire un dépôt Git centralisé.

La première raison et qui est la plus fréquente, c’est que vous êtes plusieurs à travailler sur un même projet.
La deuxième est que vous voulez avoir une deuxième version de votre projet en cas de plantage de votre machine. Une sauvegarde que vous pourrez facilement récupérer…

Tout d’abord, il faut noter qu’il y a plusieurs façons d’utiliser Git.

Le dépôt centralisé est une des techniques les plus simple à mettre en oeuvre pour gérer son code.

Fonctionnement

Cette technique utilise un dépôt central qui est la seule branche du projet à savoir : master.

Tous les utilisateurs commencent par cloner cette branche afin d’obtenir la copie locale du dépôt. Ensuite, ils peuvent porter des modifications en faisant des commits et des pushs.

Si deux personnes récupèrent le projet depuis le dépôt distant en même temps et que la première push avant l’autre, la seconde sera prévenu quand elle essayera de push à son tour.

De cette façon, la deuxième personne récupère la dernière version avant de push la sienne.

Si un conflit se produit Git produit un message d’erreur. Il faut alors réparer le conflit avant de poursuivre…

Mise en place

Je pars du principe que git est déjà installé sur votre machine et sur votre serveur.

Si ce n’est pas le cas, ces liens peuvent vous permettre de le faire :

Une fois que votre installation est clean, vous pouvez commencer.

Création du dépôt distant sur le serveur

On se connecte en ssh, on initialise le dépôt et on change les droits sur le dossier afin que l’on puisse écrire (lors des push)

ssh user@ip
git init --bare /home/git/depot/monsite.com.git
chmod -R 777 /home/git/depot

Remplacez user par votre nom d’utilisateur ssh et ip par l’ip de votre serveur. Le chemin est donné à titre d’exemple, vous devez mettre le chemin où vous voulez placer votre projet sur le serveur, ici : /home/git/depot/

Clonage du dépôt sur votre machine locale

maintenant on va récupérer une copie du dépôt sur notre ordinateur

git clone ssh://user@ip/home/git/depot/monsite.com.git

assurez vous de vous être placé au bon endroit (/home/www par exemple) avant d’exécuter cette commande car elle va uploader le dossier monsite.com là ou vous trouvez avec votre terminal.

Une fois le projet récupéré, vous pouvez ajouter des fichiers à celui-ci.

Envoyer les modifications au serveur

Vous venez d’ajouter des fichiers dans votre dossier, ici dans l’exemple disons que l’on a créé le fichier index.html (www/monsite.com/index.html)

pour voir les modifications effectué, tapez :

git status

puis, pour ajouter les fichiers au suivi, tapez :

gid add .

le « . » signifie ici : ajouter tous les fichiers.

maintenant on effectue notre commit avec un message

git commit -m "ajout de l'index"

pour pousser les modifications sur le serveur distant, tapez :

git push origin master

Normalement tout c’est passé comme prévu et votre version est désormais la même sur vos deux machine (locale et distante).

Si une autre personne avait cloné le dépôt, elle pourra récupéré la dernière version avec la commande :

git pull origin master

Si un nouveau développeur veut se greffer au projet, il a juste à cloner le dossier (comme expliqué au dessus) et il récupèrera la dernière version.