Git : usage avec un dépôt distant (développeur seul)
Pour démarrer la pratique avec git avec un serveur, il est nécessaire de créer un compte sous github (ou gitlab) et d'avoir initié un projet.
Lien avec un dépôt distant
Cloner un dépôt distant sur son ordinateur de travail
Cloner un dépôt distant sur son ordinateur de travail
git clone https://github.com/{user_git}/{projet_git}.gitComme vous accédez à votre espace distant, il est nécessaire de vous authentifier. Le serveur Git vérifie votre identité par rapport aux paramétrages du projet.
Sous Github, l’authentification est renforcée. Il est nécessaire au préalable de créer un Token (une clé) qui servira de mot de passe renforcé.
Par la suite le token sert de mot de passe. Il est possible de l’enregistrer à la renseignant lors du clonage :
git clone https://{token}@github.com/{user_git}/{projet_git}.gitAprès l'exécution de la commande clone, un répertoire du nom du projet a été créé à l'endroit ou vous avez lancé la commande git clone
A l'intérieur de ce répertoire, git a créé un réperoire .git/ qui contient tous les éléments de suivi de votre projet. Ce répertoire .git est le signe que ce dossier et suivi par git.
Il est possible de connaître vers quel repository pointe un dépôt local avec la comande :
git remote -v
Complément : Créer un Token d’authentification sous Github
Sous github, l’authentification est renforcé par l’usage de token. Un token est lié à une utilisateur (et non à un repository).
Pour créer un token :
Ouvrir le menu « utilisateur » (icone en haut à droite, profil utilisateur)
Choisir le sous menu « Setting »
Puis « developper settings »
Choisir « Personal access tokens » , Token classic
Puis « New personal access token (classic »
Donner un nom à votre token, un durée de vie (date d’expiration), sélectionner au moins « repo »
Sélectionner « Generate token »
Sauvegarder précieusement le token généré, il va servir de mot de passe pour les actions sur le repository depuis un client (clone, push, pull).
Fondamental :
Prenez l'habitude de vérifier l'état de votre dépôt local avec la commande :
git statusCette commande travaille localement (pas d'authentification avec le serveur). Elle établit donc l'état de votre dépôt local avec les dernières informations disponibles localement du dépôt distant.
Travailler dans son dépôt localement
Premières modifications et réalisation d'un commit
Sur votre ordinateur (et NON sous Github), ajouter (ou modifier s'il existe) un fichier readme.md avec le contenu suivant :
Mon premier dépôt GIT pour faire des tests
=======================================
date de création: xxxx
Un espace pour tester et **apprendre** l'utilisation de GIT
Constater les modifications sur le répertoire avec la commande :
git statusPréparer la réalisation d'un commit en sélectionnant les modifications concernées :
git add readme.mdLa commande git add est à répéter pour ajouter les fichiers concernés par un commit. Possibilité d'utiliser git add * pour ajouter tous les fichiers modifiées et git rm --cached pour dé-sélectionner (dé-indexer) des fichiers.
Constater les changements avec :
git statusRéaliser l'enregistrement des changements sélectionnés à l'aide d'un commit
git commit -m "Ajout du readme présentant l'objectif du projet"
Vérifier avec git status puis git log la bonne réalisation du commit
git status : informe sur les fichiers qui ont été modifiés
git log : informe sur les « commit » qui ont été réalisés, l'option --oneline permet un affichage plus condensé.
Votre dépôt se trouve dans l'état suivant :

La copie local contient une première « photo » réalisée après l'ajout du fichier readme.md . Ce commit ne concerne que la copie local et n'a pas affecté le dépôt distant.
L’état de l’ensemble du dépôt local peut être visualisé avec la commande :
git branch -a
Mise à jour du projet sur le serveur
Lorsque le travail en local est dans un état stable, il est intéressant de le mettre à disposition sur le serveur git à l'aide de la commande suivante :
git push --all
Comme l'opération nécessite l'accès au serveur git, le login et mdp de passe (Token) est demandé. L'option --all permet de déposer toutes les branches y compris la branche principale)
Après cette opération, le projet sur le serveur ainsi que le clone local sont identiques.
Il est possible de passer le token dans la ligne de commande :
git push --all https://{token}@github.com/{user_git}/{projet_git}.git

Remarque : on suppose ci-dessus que l'état du dépôt distant n'a pas été modifié par ailleurs, entre temps.
Exercice
Objectif : s’entraîner à travailler avec un dépôt distant de git.
1- Créer un dépôt distant sous github (création d’un compte, ajouter d’un repository privé, sélectionner Readme.md).
2- Cloner sur votre ordinateur le dépôt distant et vérifier sa présence.
3- Apporter des modifications au dépôt local (ajout de fichiers, modification de fichiers).
4- Réaliser plusieurs commit de vos modifications successives.
5- Visualiser la différence entre le dépôt local et le dépôt distant.
6- « Pousser » le dépôt local vers le dépôt distant. (cad mettre à jour le dépôt sur le serveur avec vos modifications locales).
7- Renouveler l’expérience afin de bien comprendre les mécanismes.
Afin de simuler le changement d’ordinateur, clonez dans d’autres répertoires votre dépôt distant.
Apprenez à mettre à jour un dépôt local avec la commande pull.

