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

1
git clone https://github.com/{user_git}/{projet_git}.git

L’URL du dépôt peut être copier/coller sous github en cliquant sur Code

Comme 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 :

1
git clone https://{token}@github.com/{user_git}/{projet_git}.git

Aprè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 :

1
git remote -v

ComplémentCré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 :

1
git status

Cette 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 :

1
Mon premier dépôt GIT pour faire des tests
2
=======================================
3
4
date de création: xxxx
5
6
Un espace pour tester et **apprendre** l'utilisation de GIT
7

Constater les modifications sur le répertoire avec la commande :

1
git status

Préparer la réalisation d'un commit en sélectionnant les modifications concernées :

1
git add readme.md

La 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 :

1
git status

Réaliser l'enregistrement des changements sélectionnés à l'aide d'un commit

1
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 :

1
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 :

1
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 :

1
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.