Programmation · outils · contrôle de version
Qu’est-ce que Git ?
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
pushet depuis laquelle vouspull.
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.