Aller au contenu principal

Découvrir Git

  • Comprendre à quoi sert un système de contrôle de version, et pourquoi Git s'est imposé.
  • Installer Git et configurer son identité.
  • Créer son premier dépôt local et enregistrer ses premiers commits.
attention

Sans système de contrôle de version, un projet informatique repose sur des dossiers nommés projet_final, projet_final_v2, projet_final_v2_VRAIMENT_FINAL... Impossible de savoir qui a changé quoi, ni de revenir en arrière en cas d'erreur. Git résout ce problème.

Notions théoriques​

Git est un système de contrôle de version (Version Control System, VCS) : un outil qui enregistre l'historique des modifications d'un ensemble de fichiers, au fil du temps.

Concrètement, Git permet de :

  • sauvegarder un instantané de son projet à chaque étape importante (un commit) ;
  • revenir en arrière si une modification récente casse quelque chose ;
  • travailler à plusieurs sur le même projet sans s'écraser mutuellement le travail ;
  • comprendre qui a fait quoi, et pourquoi, grâce à l'historique et aux messages de commit.
info

Git a été créé en 2005 par Linus Torvalds (le créateur du noyau Linux), pour gérer le développement de Linux lui-même : des milliers de développeurs contribuant en même temps au même projet.

Git n'est pas GitHub​

C'est une confusion très fréquente au début :

Rôle
GitLe logiciel de contrôle de version, installé sur votre ordinateur. Fonctionne sans connexion Internet.
GitHubUn site Web qui héberge des dépôts Git en ligne, pour les partager et collaborer. Il en existe d'autres : GitLab, Bitbucket, Forgejo...

Nous utiliserons Git dès cette séance, en local, sans aucun compte ni connexion. GitHub arrivera dans une séance ultérieure.

Dépôt, commit, historique​

  • Un dépôt (repository, ou repo) est un dossier suivi par Git : Git y observe chaque fichier et en garde la mémoire.
  • Un commit est un instantané du dépôt à un instant donné, accompagné d'un message qui explique ce qui a changé et pourquoi.
  • L'historique est la suite chronologique de tous les commits : à tout moment, on peut consulter ou retrouver n'importe quel état passé du projet.

Schéma

Installation et configuration​

Installer Git​

  • Windows : téléchargez et installez Git for Windows (laissez les options par défaut lors de l'installation). Cela installe aussi Git Bash, un terminal à utiliser pour toutes les commandes de ce cours.
  • Debian / Ubuntu :
sudo apt update
sudo apt install git

Vérifiez l'installation avec :

git --version

Configurer son identité​

Chaque commit enregistre qui l'a créé. Cette identité se configure une seule fois par machine :

git config --global user.name "Prénom Nom"
git config --global user.email "adresse@exemple.fr"

Vérifiez votre configuration avec :

git config --list
info

--global signifie que cette configuration s'applique à tous vos dépôts Git, sur cette machine. Sans --global, la configuration ne s'appliquerait qu'au dépôt courant.

Exemple pratique​

Nous allons créer un tout premier dépôt local, pour une page personnelle appelée mon-portfolio.

mkdir mon-portfolio
cd mon-portfolio
git init

git init transforme ce dossier en dépôt Git : un sous-dossier caché .git est créé, c'est lui qui contient tout l'historique.

Créons un premier fichier :

echo "<h1>Mon portfolio</h1>" > index.html

Vérifions l'état du dépôt :

git status

Git signale qu'index.html est un fichier non suivi (untracked) : Git le voit, mais ne l'enregistre pas encore dans son historique. Ajoutons-le à la zone de préparation (le staging area), puis créons notre premier commit :

git add index.html
git commit -m "Premier commit : page d'accueil du portfolio"

Consultons l'historique :

git log
info

La zone de préparation (staging area, ou index) est une étape intermédiaire entre vos fichiers et l'historique : git add y dépose les modifications que vous voulez inclure dans le prochain commit. Cela permet de choisir précisément quoi enregistrer, même si plusieurs fichiers ont changé.

Schéma

Test de mémorisation/compréhension​


Que permet principalement un système de contrôle de version comme Git ?


Quelle est la différence entre Git et GitHub ?


Git peut-il être utilisé sans connexion Internet ?


Quelle commande transforme un dossier en dépôt Git ?


Que fait exactement git add ?


Qu'est-ce qu'un commit ?


Pourquoi utilise-t-on l'option --global avec git config ?


Quelle commande affiche l'historique des commits d'un dépôt ?


TP pour réfléchir et résoudre des problèmes​

Vous allez créer votre propre dépôt Git local pour une page personnelle, et enregistrer son évolution à travers plusieurs commits.

Étape 1 — Initialiser le dépôt​

Créez un dossier mon-cv et transformez-le en dépôt Git.


Bonne pratique - Un dépôt par projet

Créez toujours un dépôt Git à la racine du dossier de votre projet, jamais un dépôt englobant plusieurs projets sans rapport entre eux : l'historique de chaque projet doit rester indépendant.

Étape 2 — Premier commit​

Créez un fichier index.html contenant <h1>Mon CV</h1>, puis enregistrez un premier commit.

Étape 3 — Faire évoluer le projet​

Ajoutez une ligne <p>Étudiant en BTS SIO</p> à la fin de index.html, puis enregistrez un second commit décrivant ce changement.


Bonne pratique - Des messages de commit clairs

Un bon message de commit décrit ce qui a changé, au présent ou à l'infinitif ("Ajout de...", "Corrige..."), en une ligne courte. Un message comme "modif" ou "test" ne dira rien à personne (y compris à vous-même) dans six mois.

Étape 4 — Consulter l'historique​

Vous devez voir apparaître 2 commits, du plus récent au plus ancien, chacun avec son message, son auteur et sa date.