Vous utilisez TortoiseGIT et vous aimeriez sauvegarder votre travail sur un serveur distant, faire de la gestion de configuration d'un dépôt GIT sur ce serveur...

Il y a de nombreux avantages à utiliser un dépôt distant, la récupération de données en cas de crash par exemple ou encore l'automatisation de déploiement sur le serveur...

Dans cette article, je vais aborder la configuration de GIT, TortoiseGIT, et du serveur pour un dépôt distant à partir d'un environement Windows... Avant de commencer, il faut vous assurer d'avoir accés à votre serveur en SSH.

1. Installation de TortoiseGIT sur son PC

Avez-vous TortoiseGIT sur votre PC? Si ce n'est pas le cas, commencez par télécharger les exécutables suivants:

  1. Télécharger GIT
  2. Télécharger TortoiseGIT

TortoiseGIT est est une interface Shell intégrée à Windows qui évite les lignes de commandes ;) Elle s'appuie sur le client GIT.

Installation de GIT

Une fois les exécutables téléchargés, commencez par installer GIT. Suivez la procédure jusqu'a la fin.

Vous n'avez pas besoin d'installer l'IHM intégrée à GIT "Windows Explorer Integration". On utilisera celle de TortoiseGIT

Installation de Git

Vous pouvez intégrer GIT dans le Windows Command Prompt. Pour les autres options, vous pouvez laisser par défaut.

Installation de Git

Lorsque votre email et username sont demandés, n'ignorez pas cette partie. Cela correspond à l'identification de vos commits.

Installation de TortoiseGIT

Une fois GIT installé, vous pouvez procéder à l'installation de TortoiseGIT.

Suivez les instructions jusqu'a la fin, avec les paramètres par défaut.

Dans une étape, le chemin vers git.exe sera demandé !

2. Préparation du serveur

GIT est-il installé sur mon serveur ?

Commençons par vérifier que GIT y est installé.

Certains serveurs mutualisés proposent un accés SSH avec GIT, c'est mon cas! Cependant, il y a des contraintes que nous verrons plus tard...

Pour cela, connectez-vous au serveur avec PuTTY et exécutez la commande suivante:

git help

Vous avez une liste de différentes commandes comme clone, init: Youpi GIT est installé ! Dans le cas contraire, il faut installer GIT :

sudo apt-get install git

Cette manipulation ne fonctionnera pas sur un serveur mutualisé ! Renseignez-vous auprés de votre hébergeur sur la possibilité d'installer le client GIT.

Préparation des repositories

Là, vous allez définir l'endroit pour le stockage de vos repositories (dépôt GIT). Pour cela, je vous conseille de créer un dossier à la racine de votre hébergement, puis d'initialiser un dépôt GIT:

mkdir /home/user/repositories/MyProject.git
cd /home/user/repositories/MyProject.git
git init --bare

user et MyProject sont à définir.
Un dépôt GIT vide sera initialisé dans /home/user/repositories/MyProject.git.

3. Configuration de TortoiseGIT

Maintenant que le serveur est prêt, il faut passer à la configuration de TortoiseGIT pour le lier. Pour cela, nous allons définir un remote.

Sur le dépôt local GIT de votre projet, faite un clic droit > TortoiseGit > Settings

Configuration de TortoiseGIT 1

Dans l'onglet Git / Remote, saisissez les informations de connexion SSH à votre serveur:

Configuration de TortoiseGIT 2

Dans remote, saisissez le nom de votre projet MyProject ou origin
Dans url, saisissez l'adresse de connexion ssh à votre serveur.
Dans Putty key, définissez votre clé privée générée avec PuTTY.

Concernant l'url, l'adresse SSH est de type: user@server.ext:repositories/MyProject.git
user est votre nom d'utilisateur, server.ext l'adresse de votre serveur distant, repositories/MyProject.git le chemin relatif de votre dépôt GIT distant.

Le remote ne sera valable que pour votre dépôt GIT local. Sachez donc que vous pouvez définir des remotes différents pour chaque dépôt local ;)

4. Let's go !

Ca y est, votre projet est désormais lié à un dépôt distant...

Vous pouvez travailler en local et pousser votre projet quand vous le souhaitez sur le dépôt distant, il suffit de faire un Push... ^^

5. C'est bien tout ça, mais comment faire un clone ?

Eh bien, trés bonne question! ^^ Je vous ai parlé plus haut des contraintes liées à un hébergement mutualisé, voilà nous y sommes! O_o .

Il faut distinguer 2 choses à travers GIT: le client GIT et le serveur GIT.

Pour faire simple, le client GIT traite des actions les plus courantes en local alors que le serveur GIT gère les accés aux données (Github, Gitlab).
Un remote sur un dépôt distant permet de faire une connexion de client à client à travers un protocole (ici SSH). Pour cloner un projet, il faut utiliser le protocole GIT que seul un serveur GIT peut fournir.

Mais ne vous inquietez pas, il y a une astuce qui permet de faire l'équivalent d'un clone avec du SSH. Je vous en parlerai dans un prochain post ;D

Article précédent Article suivant


Ajouter un commentaire