coldwa.st
Tous les guidesProgrammationWebDonnéesOutilsBases de donnéesHaskellConceptsCabal & buildsChaîne d’outilsCompilateurPerformanceÉditeur & HLS

Programmation · outils · contrôle de version

Qu’est-ce que Git ?

Par ColdwastMis à jour le 14 juin 20267 min de lecture#git#tools#workflow
Des lignes de code source sur un écran sombre
Des lignes de code source à l’écran — Git enregistre l’historique complet des changements d’un code comme celui-ci.

Si vous écrivez du code, vous rencontrerez Git dès le premier jour. C’est l’outil que presque tous les projets logiciels utilisent pour suivre les changements, et le socle sous GitHub, GitLab et le workflow de développement moderne. Ce guide explique ce qu’est Git, la poignée de concepts qui le rendent évident, pourquoi il compte, et en quoi il diffère de GitHub.

La définition courte

Git est un système de contrôle de version distribué : il enregistre l’historique des changements d’un ensemble de fichiers pour que vous puissiez relire, brancher, fusionner, collaborer et revenir en arrière. Créé par Linus Torvalds en 2005 pour gérer le noyau Linux, il est aujourd’hui la norme de facto. « Distribué » signifie que chaque copie du projet porte son historique complet — vous pouvez travailler, committer et consulter l’historique entièrement hors ligne.

Les concepts fondamentaux

  • Dépôt (repo) — le dossier du projet plus tout son historique, stockés dans un répertoire caché .git.
  • Commit — un instantané enregistré de vos fichiers à un instant donné, avec un message décrivant le changement. L’historique est une chaîne de commits.
  • Branche — un pointeur mobile qui vous laisse développer une fonctionnalité de façon isolée sans perturber la ligne principale (généralement main).
  • Merge (fusion) — combiner les changements d’une branche dans une autre.
  • Remote (distant) — une copie partagée du dépôt hébergée ailleurs (par ex. sur GitHub) vers laquelle vous push et depuis laquelle vous pull.
Une invite de terminal sur un écran
Une invite de terminal — Git se pilote le plus souvent en ligne de commande, même si les éditeurs et les interfaces graphiques l’enveloppent aussi.

Le workflow du quotidien

La boucle que la plupart des développeurs exécutent des dizaines de fois par jour :

git clone <url>      # copy a repository locally
# ...edit files...
git add .            # stage the changes you want to save
git commit -m "Add login form"   # save a snapshot with a message
git push             # send your commits to the shared remote

Pour travailler sur quelque chose de neuf sans casser la ligne principale, vous branchez : git checkout -b my-feature, vous committez là, puis vous faites un git merge (souvent via une pull request) de retour dans main. Pour récupérer le travail des autres, vous faites git pull.

Pourquoi Git compte

  • Historique et annulation — chaque changement est enregistré, vous pouvez donc voir qui a changé quoi, quand et pourquoi, et revenir sur une erreur.
  • Collaboration — de nombreuses personnes peuvent travailler en parallèle sur le même projet sur des branches, puis fusionner en sécurité.
  • Expérimentation sûre — branchez, essayez quelque chose, jetez-le si ça échoue — la ligne principale reste intacte.
  • Il est partout — l’open source, les entreprises, les pipelines CI/CD et le déploiement supposent tous Git.

Git vs GitHub

On les confond sans cesse. Git est l’outil de contrôle de version qui tourne sur votre machine. GitHub (comme GitLab ou Bitbucket) est un service d’hébergement qui stocke des dépôts Git en ligne et ajoute des fonctionnalités de collaboration — pull requests, issues, contrôle d’accès, CI. Vous pouvez utiliser Git sans aucun compte GitHub ; GitHub est un endroit populaire où placer un remote Git, pas Git lui-même.

La courbe d’apprentissage honnête

Git est puissant, et son jeu de commandes peut sembler déroutant au début — les fusions peuvent entrer en conflit, et quelques commandes peuvent réécrire l’historique de façons qui surprennent les débutants. La bonne nouvelle : 90 % du travail quotidien n’utilise que clone, add, commit, push, pull et branch. Maîtrisez celles-ci, et apprenez le reste (rebase, stash, reset) quand vous en aurez réellement besoin.

FAQ

Git est-il la même chose que GitHub ? Non. Git est le logiciel de contrôle de version sur votre ordinateur ; GitHub est un service en ligne qui héberge des dépôts Git et ajoute des outils de collaboration. Git fonctionne sans GitHub.

Qu’est-ce qu’un commit ? Un instantané enregistré de votre projet à un instant donné, avec un message décrivant ce qui a changé. L’historique d’un projet est une séquence de commits.

Faut-il utiliser la ligne de commande ? Non — les éditeurs (VS Code) et les clients graphiques enveloppent Git — mais la ligne de commande est universelle et vaut la peine d’être apprise, puisque chaque tutoriel et chaque système de CI la parlent.

Que signifie « distribué » ? Chaque clone d’un dépôt Git contient l’historique complet, vous pouvez donc committer, brancher et parcourir l’historique hors ligne. Il n’y a pas de copie centrale unique dont vous dépendez pour travailler.

Git suit le code ; les algorithmes et les API sont ce que ce code exprime. Parcourez d’autres explications claires dans notre index des guides.

Guide indépendant, maintenu par la communauté. coldwa.st est un site de ressources de programmation ; cet article est un écrit explicatif neuf et original sur Git. Les commandes reflètent le comportement standard de Git — vérifiez auprès de la documentation officielle de Git pour les détails et les cas particuliers.