Git : définition et bases expliquées aux non-développeurs

Git, c'est quoi ? Définition simple, fonctionnement, commandes de base, différence avec GitHub et GitLab, et erreurs à éviter pour piloter votre projet web.

Git, c'est quoi exactement ?

Git est un logiciel gratuit qui enregistre l'historique complet des modifications apportées aux fichiers d'un projet, le plus souvent du code. On parle de version control system, ou système de gestion de versions. Chaque étape du travail est sauvegardée avec sa date, son auteur et un court message qui explique ce qui a changé. Si une mise à jour casse le site, on peut revenir à la version précédente en quelques secondes.

Le site officiel le résume en anglais : « Git is a free and open source distributed version control system ». Traduit simplement : Git est un outil libre, open source, et surtout distribué. Ce dernier mot compte. Avec un distributed version control, chaque développeur possède une copie complète du projet et de son historique sur sa propre machine. Il n'y a pas un seul serveur central qui, s'il tombe, emporte tout avec lui.

D'où vient le nom git en anglais ?

Git a été créé en 2005 par Linus Torvalds, le créateur de Linux, pour gérer le code du noyau Linux. En argot britannique, « git » désigne une personne désagréable. Torvalds a choisi ce nom avec humour. Le mot n'est donc pas un sigle, même si l'on voit parfois des explications inventées après coup.

Toutes les commandes Git sont en anglais : commit, push, merge, branch. C'est l'une des raisons pour lesquelles l'outil intimide au premier abord. Pourtant, la logique derrière ces mots reste simple, comme vous allez le voir.

Un projet open source suivi par tous

Le code source de Git est lui-même public. Son miroir officiel se trouve dans le dépôt git/git sur GitHub, où chacun peut consulter chaque version of the core git, c'est-à-dire le cœur du logiciel. Ce dépôt git/git montre bien l'esprit du projet : transparent, ouvert aux contributions et maintenu par une communauté. Pour une PME, c'est un gage de pérennité, car l'outil ne dépend d'aucun éditeur unique.

À quoi sert Git dans un projet web ?

Git sert d'abord à ne rien perdre. Sur un site vitrine, une boutique ou un logiciel métier, des dizaines de fichiers changent chaque semaine. Sans historique, impossible de savoir qui a modifié quoi, ni de défaire une erreur proprement. Git apporte cette traçabilité, ce qui facilite aussi la maintenance d'un site web sur plusieurs années.

Il sert ensuite à travailler à plusieurs sans se marcher dessus. Deux développeurs peuvent modifier le même projet en parallèle, chacun dans sa branche, puis réunir leur travail. C'est la base des méthodes de travail itératives comme la méthode agile, où l'on livre souvent par petites étapes.

  • Garder un historique daté de chaque changement du code.
  • Revenir à une version stable si une mise à jour pose problème.
  • Tester une nouvelle fonction sans toucher au site en ligne.
  • Permettre à plusieurs personnes de travailler sur le même projet.
  • Changer de prestataire sans repartir de zéro, puisque tout l'historique est transmis.

Pourquoi un dirigeant de PME devrait s'y intéresser

Vous n'aurez sans doute jamais à taper une commande. En revanche, la façon dont votre code est versionné influence directement vos coûts et vos risques. Un prestataire qui travaille sans Git, directement sur le serveur, vous expose à des pertes et à des pannes difficiles à réparer. Lors d'une création de site internet ou d'un logiciel sur mesure, demandez où se trouve le dépôt et à qui il appartient.

Comment fonctionne Git : les notions et commandes de base

Git s'organise autour de quelques notions. Le dépôt, ou repository, est le dossier du projet avec tout son historique. Un commit est une photo du projet à un instant donné, accompagnée d'un message. Une branche est une ligne de travail parallèle : on y développe une nouveauté sans toucher à la version en ligne.

Les git commands à connaître de nom

Les développeurs utilisent surtout une poignée d'ordres, tapés dans un terminal en ligne de commande. Connaître leur rôle vous aidera à comprendre un compte rendu technique. Voici les commands les plus courantes et ce qu'elles font.

  • git status : affiche l'état du projet, c'est-à-dire les fichiers modifiés et pas encore enregistrés.
  • git add puis git commit : sélectionnent les changements, puis les enregistrent avec un message.
  • git push et git pull : envoient le travail vers le dépôt distant, ou récupèrent celui des collègues.
  • git clone : télécharge une copie complète d'un projet existant.
  • git stash : met de côté des modifications en cours, le temps de traiter une urgence.
  • git log : affiche l'historique des commits, du plus récent au plus ancien.

Les commandes ne sont pas plus compliquées que cela au quotidien. La difficulté vient plutôt des situations où deux personnes ont modifié la même ligne du même fichier. Git signale alors un conflit, qu'un humain doit trancher.

Git merge vs rebase : deux façons de réunir le travail

Quand une branche est terminée, il faut l'intégrer à la branche principale. Git propose deux méthodes. Le merge fusionne les deux branches et crée un commit de jonction : l'historique garde la trace exacte de ce qui s'est passé en parallèle. C'est la méthode la plus sûre pour une équipe.

Le rebase, lui, rejoue les commits de la branche par-dessus la version la plus récente, comme s'ils avaient été écrits après. L'historique devient linéaire et plus lisible. En contrepartie, il réécrit l'historique, ce qui peut semer le trouble si plusieurs personnes travaillent sur la même branche. Sur GitHub, un git rebase se choisit souvent au moment de valider une demande de fusion. La règle courante : rebase sur sa branche personnelle, merge sur les branches partagées.

Git, GitHub, GitLab : quelle différence ?

C'est la confusion la plus fréquente. Git est le logiciel, installé sur l'ordinateur, qui gère les versions. GitHub et GitLab sont des services en ligne qui hébergent des dépôts Git et ajoutent des outils autour. Autrement dit, Git fonctionne très bien sans GitHub, mais GitHub ne fonctionne pas sans Git.

GitHub, la plateforme la plus connue

GitHub, racheté par Microsoft en 2018, est la plateforme d'hébergement de code la plus utilisée par les projets open source. Elle propose un espace pour chaque dépôt, la revue de code entre collègues, un suivi des tâches et de nombreux services. Parmi eux, GitHub Actions automatise des tâches comme les tests ou la mise en ligne du site à chaque modification validée. GitHub Copilot, un assistant de code fondé sur l'IA, suggère des lignes au développeur pendant qu'il écrit, une pratique proche de ce que l'on appelle le vibe coding.

Si GitHub semble en panne, une page publique d'état du service indique les incidents en cours. Pratique quand une mise en ligne bloque et que l'on se demande si le problème vient de chez vous. L'entreprise publie aussi une documentation complète, un espace de support et une newsletter destinée aux développeurs.

GitLab et les autres plateformes

GitLab offre des fonctions proches : hébergement de dépôts, intégration continue, gestion de projet. Sa particularité est de pouvoir être installé sur vos propres serveurs, ce qui intéresse les entreprises soucieuses de garder leurs données en interne. D'autres solutions existent, comme Bitbucket ou des forges open source auto-hébergées. Pour choisir, regardez où vos données sont stockées, qui gère les accès et si votre prestataire maîtrise l'outil.

Les outils pour utiliser Git sans ligne de commande

Git a été pensé pour le terminal, mais de nombreux tools offrent une interface graphique, ou GUI. Ils affichent les fichiers modifiés, l'historique et les branches sous forme visuelle. Pour un chef de projet ou un dirigeant curieux, c'est la meilleure porte d'entrée.

VS Code et Git

Visual Studio Code, l'éditeur de code gratuit de Microsoft, intègre Git nativement. Un panneau dédié au contrôle de source liste les changements, permet d'écrire le message du commit et d'envoyer le travail en un clic. Les conflits s'affichent côte à côte, avec des boutons pour garder l'une ou l'autre version. Beaucoup de développeurs ne tapent presque plus de commandes grâce à cette intégration.

Git Bash, GitHub Desktop et les interfaces graphiques

Sur Windows, l'installation de Git for Windows ajoute Git Bash, un terminal qui reproduit l'environnement des systèmes Linux et macOS. Il permet de taper les mêmes commandes, quel que soit votre operating system. Pour éviter le terminal, GitHub Desktop propose une application simple : cloner un dépôt, voir les changements, publier. D'autres logiciels font de même et fonctionnent avec n'importe quel dépôt distant.

Pour aller plus loin, le livre Pro Git est disponible gratuitement en ligne sur le site officiel, y compris en français. Un bon tutorial Git commence toujours par les mêmes étapes : installer l'outil, créer un dépôt, faire un premier commit.

Les erreurs courantes avec Git

Git pardonne beaucoup, à condition de l'utiliser correctement. La plupart des incidents viennent de mauvaises habitudes plutôt que de l'outil lui-même. Voici celles qui reviennent le plus souvent dans les projets que l'on reprend.

  • Enregistrer des mots de passe ou des clés d'accès dans le dépôt : ils restent dans l'historique, même supprimés ensuite.
  • Écrire des messages de commit vagues comme « modif » : l'historique devient illisible.
  • Modifier les fichiers directement sur le serveur, en dehors de Git : la version en ligne ne correspond plus au dépôt.
  • Faire un rebase sur une branche partagée : les collègues se retrouvent avec un historique incohérent.
  • Confondre Git et sauvegarde : Git ne conserve pas la base de données ni les images envoyées par les utilisateurs.

Questions fréquentes

Git surveille un dossier de projet. Quand vous modifiez des fichiers, vous les enregistrez dans un commit qui fige leur état avec un message. Ces commits s'enchaînent pour former l'historique, que l'on peut parcourir ou annuler. Le tout est ensuite synchronisé avec un dépôt distant pour être partagé.

Git est le logiciel de gestion de versions, installé en local et totalement gratuit. GitHub est un service web qui héberge des dépôts Git et ajoute la collaboration, la revue de code et l'automatisation. On peut utiliser Git avec GitLab ou un serveur privé, sans jamais passer par GitHub.

Tout dépend du stade. Une modification pas encore enregistrée peut être abandonnée sur le fichier concerné. Un commit déjà partagé s'annule de préférence avec git revert, qui crée un nouveau commit inverse sans réécrire l'historique. C'est la méthode la plus sûre quand plusieurs personnes travaillent sur le projet.

À lire aussi. Sur le même thème.