Git - 0 - Introduction

Comment j’aurais aimé qu’on m’explique Git

Commencez par ici la formation Git ! On voit rapidement à quoi ça sert et pourquoi cet outil est si utilisé dans le monde du développement.

J’ai décomposé la formation en 5 parties arbitraires, totalement inégales et sujettes à évolution :

  1. Intro
  2. Concepts de base
  3. Actions fréquentes
  4. Gitlab - Repo distant
  5. Bons à savoir

Ce tutoriel a été écrit dans le cadre de mon travail, j’en profite pour le faire partager à tous. Il peut servir de support pour former des collègues ou des élèves. Il y a surement plein de coquilles ou de choses imprécises, n’hésitez pas à me les faire remarquer.

J’espère qu’il vous plaira :)

Présentation

Git est un logiciel de gestion de versions décentralisé. C’est un logiciel libre et gratuit, créé en 2005 par Linus Torvalds, auteur du noyau Linux.

Définitions :

  • gestionnaire de versions : outil permettant de versionner un ensemble de dossiers et fichiers.
  • décentralisé : s’oppose à centralisé, c’est à dire à un répertoire central stockant toutes les versions. Ici chaque développeur possède le répertoire qui contient l’intégralité de l’historique et des versions du projet.
  • Linus Torvalds : un chic type

Il répond notamment aux besoins suivants :

  1. ne pas perdre les fichiers
  2. pouvoir revenir en arrière
  3. travailler en équipe
  4. partager le projet et intégrer des personnes que l’on ne connaît pas
  5. héberger un projet à l’extérieur de son ordinateur

Git est un outil qui permet de travailler collaborativement et parallèlement sur le même projet.

Ecosystème

  • Git est au coeur d’un écosystème très important pour le développement. Gitlab et Github, deux produits concurrents qui permettent d’héberger des projets basés sur Git.
  • Git est intégré à la plupart des IDE (VSCode, PyCharm, Intellij, RStudio, Eclipse etc.)
  • Git permet le DevOps, c’est à dire l’automatisation des chaînes de livraison de nouvelles versions.

Pourquoi utiliser un gestionnaire de version ?

Avant :

  1. toto_v0.txt
  2. toto_v1.txt
  3. toto_v1_judith.txt
  4. toto_v1_jj_20230412.txt
  5. toto_v1_jj_20230412_final.txt
  6. toto_v1_jj_20230412_final0.txt
  7. toto_v1_jj_20230412_final0_final.txt

Après :

Document Version Version Parente
toto.txt A
toto.txt B A
toto.txt C B
toto.txt Z A

Git va nous permettre de gérer les versions automatiquement.
A la base, c’est vrai que git est plutôt orienté pour le développement logiciel et pour les développeurs. Cependant, on peut très bien l’utiliser pour d’autres usages :

  • gérer des version de documents, de documentations
  • versionner des configurations
  • versionner des notes personnelles (j’utilise Obsidian+git par exemple pour la prise de note et la sauvegarde, voir également LogSeq)

Vous pourrez également utiliser tout l’écosystème qui tourne autour de Git.

Installation

Voir ici : Démarrage rapide - Installation de Git

Configuration

git config

Afin de configurer Git pour se connecter au GitLab de manière sécurisée, exécuter les commandes suivantes.

# définition de username : nom ou nom prénom ou login intranet par exemple
git config --global user.name <username>
# définition de votre email : email pour travailler sur le gitlab 
git config --global user.email <email>
# definition du login de connexion pour le gitlab
git config --global credential.https://gitlab.com.username <login_extranet>
# réinitialisation du cache toutes les 8h (permet de renseigner son mot de passe une seule fois / jour)
git config --global credential.https://gitlab.com.helper "cache --timeout=30000"

# Exemple
git config --global user.name "Léo Le Lonquer"
git config --global user.email leo.le.lonquer@bidulon.fr
git config --global credential.https://gitlab.com.username LeoLeLonquer

La suite

Ok c’est un peu frustrant on a encore rien fait !
La suite dans le prochain épisode par ici : Git - 1 - Concepts de base

Ressources