Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

Apprendre Git : commandes de base et workflows DevOps

Par mis à jour le

Améliorer cette page

Logo Git

Git est l'outil de versioning de référence pour suivre l'évolution d'un projet, collaborer en équipe et sécuriser ses changements dans le temps. Que vous écriviez du code, des playbooks Ansible, des manifests Kubernetes ou des pipelines CI/CD, Git vous permet de savoir qui a changé quoi, quand, et pourquoi.

Cette page est votre point d'entrée pour apprendre Git pas à pas, du premier commit aux workflows avancés utilisés dans les équipes DevOps.

Si vous découvrez Git, voici l'essentiel avant de taper la première commande :

  • Git est un système de contrôle de version distribué : il enregistre l'historique complet de votre projet sous forme de commits (des instantanés datés et signés).
  • Vous pouvez créer des branches pour travailler sur une fonctionnalité sans toucher au reste du projet.
  • Vous pouvez fusionner votre travail, comparer les versions et revenir en arrière à tout moment sur n'importe quel commit enregistré.
  • Git fonctionne entièrement en local sur votre machine, puis se synchronise avec un serveur distant si vous le souhaitez.

Un professionnel DevOps écrit du code tous les jours : scripts d'automatisation, fichiers d'infrastructure as code, pipelines CI/CD, configurations. Tout ce code doit être versionné, partagé et traçable.

Git ne sert pas seulement à « sauvegarder du code ». Il sert à travailler proprement, relire les changements avant de les valider, tester des idées en branche, collaborer sans écraser le travail des autres et revenir rapidement à un état stable après une erreur. Sans Git, les équipes jonglent avec des noms de fichiers (v1, v2-final, v2-final-VRAIMENT-final), n'ont aucune trace de qui a changé quoi, et ne peuvent pas revenir en arrière proprement.

Avec Git, plusieurs personnes peuvent travailler en parallèle sur le même projet. Quand leurs modifications se croisent, Git aide à les fusionner et à traiter explicitement les conflits : ils ne disparaissent pas, mais ils sont gérés avec des outils dédiés.

Voici les cinq commandes du cycle de base. Elles suffisent pour comprendre le rythme quotidien avec Git :

Fenêtre de terminal
git init # Initialiser un dépôt dans le dossier courant
git status # Voir l'état des fichiers
git add . # Ajouter tous les fichiers modifiés au staging
git commit -m "feat: premier commit" # Enregistrer un instantané
git log --oneline # Consulter l'historique

Le parcours débutant les explique pas à pas avec les concepts qui les sous-tendent.

Pour préparer votre poste, la leçon Installer et configurer Git couvre l'installation, l'identité, l'éditeur et les alias. Le modèle Git : snapshots et 3 états explique comment Git pense avant la première commande : c'est la clé pour ne jamais être perdu, grâce aux snapshots et aux trois états d'un fichier.

Trois parcours sont disponibles selon votre niveau. Chaque guide est autonome, mais ils se complètent dans l'ordre proposé.

ParcoursPour quiCe que vous saurez faire
DébutantPremière découverte de GitCréer un dépôt, versionner du code, consulter l'historique
IntermédiaireVous utilisez déjà add/commitTravailler en branche, fusionner, collaborer en équipe
AvancéVous pratiquez Git au quotidienRéécrire l'historique, déboguer, automatiser, comprendre les internals

Vous débutez complètement ? Commencez par Le modèle Git, puis enchaînez avec Installer et configurer Git.

Vous utilisez déjà add, commit et push ? Sautez directement au parcours intermédiaire.

Commencez ici si vous n'avez jamais utilisé Git ou si vous voulez consolider vos bases. Ces guides couvrent tout ce dont vous avez besoin pour utiliser Git au quotidien en solo.

  1. Comprendre le modèle Git : avant de taper des commandes, comprenez comment Git pense (snapshots, 3 états, SHA). C'est la clé pour ne jamais être perdu. Voir Le modèle Git : snapshots et 3 états.

  2. Installer et configurer : préparez votre poste avec Git configuré correctement (identité, éditeur, alias). Voir Installer et configurer Git, qui couvre Linux, macOS et Windows.

  3. Créer un dépôt, enregistrer des modifications, consulter l'historique : le cycle de travail quotidien, avec git init, add, commit et log, en vérifiant l'état avec git status. Voir Créer un dépôt Git (git init et git clone), Enregistrer des modifications (le cycle add et commit, les diffs) et Consulter l'historique (git log filtré, cherché, formaté).

  4. Annuler des erreurs : corrigez vos modifications sans panique avec restore, commit --amend et revert, selon que le commit est publié ou non. Voir Annuler des modifications.

Vous maîtrisez add, commit et log ? Passez aux branches et au travail en équipe. C'est ici que Git révèle toute sa puissance.

  1. Créer et naviguer entre les branches : travaillez sur plusieurs fonctionnalités en parallèle sans risque. Voir Les branches Git en bref (créer, lister, supprimer, comprendre HEAD et le pointeur).

  2. Fusionner et résoudre les conflits : intégrez vos branches en confiance avec merge, qu'il soit en fast-forward ou à trois voies. Voir Merge et résolution de conflits (fast-forward, 3-way merge, marqueurs de conflit).

  3. Synchroniser avec un serveur distant : push, pull et fetch pour collaborer avec votre équipe. Voir Travailler avec les remotes.

  4. Adopter un workflow : choisissez la méthode adaptée à votre organisation entre Feature Branch, Gitflow et Trunk-Based. Voir Workflows Git.

Vous utilisez Git au quotidien et souhaitez aller plus loin ? Le parcours avancé se divise en trois dimensions complémentaires.

Les outils de manipulation (rebase interactif, reset, staging partiel, stash) transforment vos habitudes de commit. Vous produisez un historique propre et lisible qui facilite les revues de code et la recherche de régressions.

Le socle est Rebase fondamental : le principe, le rebase interactif et la règle d'or qui dit quand et comment réécrire. Réécrire l'historique détaille amend, rebase -i (squash, fixup, reword) et filter-repo pour supprimer un fichier sensible. Reset démystifié explique les 3 arbres de Git et les modes --soft, --mixed et --hard, et Cherry-pick applique un commit d'une autre branche (mécanisme, conflits, options clés). Les commandes puissantes restantes (stash, staging interactif, bisect, submodules, bundling) sont réunies dans Outils Git avancés.

Ce sous-parcours couvre ce que vous devez maîtriser pour travailler sur des projets partagés, open source ou d'entreprise.

Pull requests et code review apprend à créer une PR structurée, à conduire une revue constructive et à gérer son cycle de vie. Workflows distribués compare le workflow centralisé, l'integration manager et le dictateur pour collaborer à grande échelle. Plateformes Git met en regard GitHub, GitLab, Gitea et Forgejo, en SaaS ou en self-hosted, selon vos contraintes. Si vous retenez GitLab, sa présentation montre une plateforme DevSecOps complète : CI/CD intégrée, issues, sécurité et registry, bien plus qu'un simple hébergeur.

Quand quelque chose casse, Opérations Git propose des guides de survie classés par symptôme : push rejeté, commit mal placé, données perdues. Pour retrouver des commits, des branches ou du travail disparus, Récupérer des données perdues utilise reflog, fsck et ORIG_HEAD. Enfin, Maintenir un projet couvre l'accueil des contributions, la préparation d'une release et la gestion du changelog.

Vous ne savez pas par quel guide commencer ? Choisissez selon votre besoin immédiat :

Je veux…Par où commencer
Démarrer Git depuis zéroInstaller et configurer Git
Comprendre comment Git fonctionneLe modèle Git
Travailler avec des branchesLes branches en bref
Corriger une erreurAnnuler des modifications ou Récupérer des données perdues
Comprendre rebaseRebase fondamental
Choisir GitHub ou GitLabPlateformes Git
Contribuer à un projet open sourcePull requests et code review
Intégrer Git dans mes pratiques DevOpsWorkflows Git

Ces erreurs sont commises par presque tout le monde au début. Les connaître à l'avance vous fera gagner beaucoup de temps.

ErreurCe qu'il faut faire à la place
Confondre Git et GitHubGit est l'outil local, GitHub est la plateforme en ligne, ils sont distincts
Faire git add . sans vérifierToujours lancer git status avant d'ajouter quoi que ce soit
Committer des secretsConfigurer .gitignore et utiliser des gestionnaires de secrets
Travailler directement sur mainCréer une branche pour chaque fonctionnalité ou correctif
Utiliser push --force sur une branche partagéeComprendre les conséquences avant de réécrire l'historique distant
Oublier git statusEn faire un réflexe : lancer avant et après chaque opération
Messages de commit vagues (update, fix)Expliquer l'intention : fix: correct null pointer in login handler

Git n'est pas qu'un outil de développeur. En DevOps, il est au centre de tout :

  1. Un commit = une intention : chaque commit doit être petit, cohérent et compréhensible sans contexte supplémentaire.
  2. Soignez vos messages de commit : un bon message explique le pourquoi, pas le quoi (fix: correct null pointer in auth est utile, update file ne l'est pas).
  3. Jamais de secrets dans Git : mots de passe, clés API et tokens n'ont rien à faire dans l'historique, même dans un dépôt privé.
  4. Protégez votre branche principale : activez les protections de branche sur votre plateforme pour forcer les revues de code avant merge.
  5. Automatisez les contrôles : lint, tests et analyse de sécurité dans votre CI pour valider chaque push.
  • Git trace chaque modification : chaque commit enregistré dans l'historique peut être inspecté et, dans la grande majorité des cas, retrouvé, y compris après une suppression accidentelle via le reflog.
  • Git est distribué : chaque développeur possède une copie complète de l'historique, ce qui permet de travailler hors ligne.
  • Git pense en snapshots : chaque commit est une photo complète de votre projet, pas une liste de différences.
  • Les 3 états : vos fichiers passent par Working Directory → Staging Area → Repository. Comprendre ce modèle évite la majorité des confusions.
  • Les branches sont légères : une branche est juste un pointeur vers un commit, pas une copie du projet. Créez-en autant que nécessaire, elles ne coûtent presque rien.
  • Git ≠ GitHub : Git est l'outil de versioning, les plateformes (GitHub, GitLab, Forgejo) sont les services qui l'hébergent.
  • Jamais de secrets dans Git : ni dans les fichiers, ni dans les messages de commit, ni dans aucune branche.

Dix questions sur les opérations de base : ce que crée vraiment git init, la différence entre retirer de l'index et détruire du travail, pourquoi on revert un commit publié au lieu de le réécrire, et les deux commandes que tout le monde confond, fetch et pull. Cet objectif est évalué dans le parcours LFCS, qui délègue Git à cette section.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

10 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

Ce projet vous est utile ?

Les guides, formations, quiz et labs restent gratuits. Si vous les utilisez régulièrement, vous pouvez contribuer à leur maintenance et à leur développement.

Devenir membre de soutien (nouvel onglet) Soutenir une fois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn