Back

10 commandes Git que tout développeur devrait connaître

10 commandes Git que tout développeur devrait connaître

Les commandes Git constituent le socle de tout workflow de développement moderne. Que vous déployiez du code en production ou collaboriez avec une équipe distribuée, ces dix commandes couvriront la majorité de votre travail quotidien. Voici ce que vous devez réellement connaître pour un workflow Git moderne en 2025.

Points clés à retenir

  • Maîtrisez git status et git diff pour comprendre l’état de votre dépôt avant d’effectuer des modifications
  • Utilisez git switch et git restore au lieu de l’ancienne commande git checkout pour des commandes plus claires et ciblées
  • Connaissez git reflog comme votre filet de sécurité pour récupérer des commits perdus et annuler des erreurs
  • Maintenez votre installation Git à jour pour bénéficier des correctifs de sécurité et des nouvelles fonctionnalités

Vérifier l’état de votre dépôt

git status

Avant toute autre action, git status vous indique où en sont les choses. Cette commande affiche les fichiers modifiés, les changements indexés et les fichiers non suivis dans votre répertoire de travail.

git status

Exécutez cette commande fréquemment. Elle évite les surprises avant les commits et vous aide à comprendre ce que Git voit.

git diff

Alors que status montre quels fichiers ont changé, diff montre ce qui a changé à l’intérieur.

git diff              # changements non indexés
git diff --staged     # changements indexés

Examinez vos modifications avant de commiter. Cela permet de détecter les erreurs rapidement.

Indexation et commit

git add

L’indexation prépare les modifications pour votre prochain commit. Vous contrôlez exactement ce qui entre dans chaque instantané.

git add filename.js   # indexer un fichier
git add .             # tout indexer

Pour plus de contrôle, utilisez git add -p pour indexer des sections spécifiques dans les fichiers—utile lorsque vous avez effectué plusieurs modifications non liées.

git commit

Les commits créent des instantanés permanents dans l’historique de votre projet.

git commit -m "Correction du bug de timeout d'authentification"

Rédigez des messages clairs. Si vous devez corriger votre dernier message de commit ou ajouter des modifications oubliées, utilisez git commit --amend.

Travailler avec les dépôts distants

git clone

Clone télécharge un dépôt et son historique complet sur votre machine.

git clone https://github.com/user/repository.git

git pull

Pull récupère les modifications du dépôt distant et les fusionne dans votre branche actuelle.

git pull origin main

Remarque : git pull combine git fetch et git merge. Si vous souhaitez inspecter les modifications distantes avant de les fusionner, exécutez d’abord git fetch.

git push

Push envoie vos commits locaux vers le dépôt distant.

git push origin main

Seules les modifications commitées sont poussées. Le travail non commité reste local.

Gestion des branches et historique

git switch

Pour basculer entre les branches, git switch est l’approche moderne—introduite dans Git 2.23 et désormais la commande recommandée par rapport à l’ancienne git checkout pour cet usage.

git switch feature-branch      # basculer entre les branches
git switch -c new-feature      # créer et basculer

Git switch vs checkout : checkout fonctionne toujours mais gère trop de tâches non liées (basculer entre branches, restaurer des fichiers, détacher HEAD). switch fait une chose clairement. Utilisez-la.

git restore

De même, git restore gère la restauration de fichiers—une autre tâche auparavant surchargée sur checkout.

git restore filename.js           # annuler les modifications du répertoire de travail
git restore --staged filename.js  # désindexer un fichier

Cette séparation rend le modèle mental de Git plus clair pour les développeurs qui apprennent l’outil en 2025.

git log

Comprendre l’historique de votre projet est important. git log affiche l’historique des commits de votre branche actuelle.

git log --oneline --graph    # vue compacte avec structure des branches

Le flag --oneline maintient la sortie lisible. Ajoutez --graph pour visualiser les branchements et fusions.

Récupération avec git reflog

Quand les choses tournent mal—et elles tourneront mal—git reflog est votre filet de sécurité. Il enregistre chaque mouvement de HEAD, même les commits qui n’apparaissent plus dans git log.

git reflog

Vous avez accidentellement réinitialisé au mauvais commit ? Supprimé une branche ? reflog vous aide à retrouver et récupérer le travail perdu. Ce n’est pas une commande quotidienne, mais savoir qu’elle existe vous évite des heures de panique.

Note sur les choix de workflow

Les équipes débattent souvent entre merge et rebase. Les deux intègrent des modifications mais diffèrent dans la façon dont l’historique apparaît ensuite. Merge préserve la structure complète des branches. Rebase crée un historique linéaire. Aucune approche n’est universellement correcte—choisissez en fonction des préférences de votre équipe et des besoins du projet.

Également à noter : maintenez votre installation Git raisonnablement à jour. Les versions récentes ont corrigé des avis de sécurité qui méritent d’être appliqués.

Conclusion

Ces commandes—status, diff, add, commit, clone, pull, push, switch, log et reflog—couvrent les essentiels de Git pour les développeurs effectuant un travail quotidien. Maîtrisez-les d’abord. Les commandes plus avancées deviennent utiles une fois que cette fondation est solide.

Commencez à utiliser switch et restore si ce n’est pas déjà fait. Elles reflètent la façon dont les commandes Git sont conçues en 2025 : ciblées, prévisibles et plus faciles à comprendre.

FAQ

Git fetch télécharge les modifications depuis un dépôt distant mais ne les fusionne pas dans votre branche locale. Git pull combine fetch et merge en une seule étape, intégrant automatiquement les modifications distantes dans votre branche actuelle. Utilisez fetch lorsque vous souhaitez examiner les modifications avant de les fusionner.

Utilisez git reset --soft HEAD~1 pour annuler votre dernier commit tout en conservant toutes les modifications indexées. Si vous voulez que les modifications soient désindexées mais toujours dans votre répertoire de travail, utilisez plutôt git reset HEAD~1. Les deux approches préservent votre travail tout en supprimant le commit de l'historique.

Utilisez git switch pour toutes les opérations liées aux branches comme basculer entre branches ou en créer de nouvelles. Git switch a été introduit dans Git 2.23 spécifiquement pour gérer les branches, tandis que checkout reste surchargé avec plusieurs fonctions non liées. Switch fournit une intention plus claire et réduit la confusion.

Exécutez git reflog pour trouver le hash du commit où votre branche pointait avant la suppression. Ensuite, recréez la branche en utilisant git branch nom-branche hash-commit. Reflog suit tous les mouvements de HEAD pendant environ 90 jours par défaut, rendant la récupération possible même après des suppressions accidentelles.

Gain control over your UX

See how users are using your site as if you were sitting next to them, learn and iterate faster with OpenReplay. — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay