Git : les commandes essentielles

mis à jour le 2026-07-01#git#cli#cheatsheet

Démarrer

Avant tout premier commit, dis à Git qui tu es — ces infos sont gravées dans chaque commit. Ensuite, deux façons d'obtenir un dépôt : tu en crées un (init) ou tu en récupères un existant (clone).

shell
git config --global user.name "Ton Nom"
git config --global user.email "toi@example.com"

git init                # nouveau dépôt dans le dossier courant / new repo in current dir
git clone <url>         # copie un dépôt distant / copy a remote repo

Le cycle quotidien

90 % de ta vie avec Git tient en cinq commandes. Le réflexe à prendre : git status avant et après chaque opération — c'est ta boussole, elle te dit toujours où tu en es et souvent quoi faire ensuite.

shell
git status                     # où j'en suis ? / where am I?
git add <fichier>              # stage un fichier / stage a file
git add -p                     # stage morceau par morceau / stage hunk by hunk
git commit -m "message clair"  # enregistre le snapshot / record the snapshot
git pull                       # récupère + intègre le distant / fetch + integrate remote
git push                       # publie tes commits / publish your commits

Astuce : git add -p te fait relire chaque modification avant de la stager. C'est le meilleur moyen de faire des commits propres et d'attraper un console.log oublié.

Branches

Une branche coûte zéro : crée-en une par fonctionnalité ou correctif. Pour ramener son contenu, merge fusionne (historique fidèle), rebase réécrit tes commits par-dessus la cible (historique linéaire) — retiens juste : jamais de rebase sur des commits déjà poussés et partagés.

shell
git switch -c ma-feature   # crée et bascule / create and switch
git switch main            # revient sur main / back to main
git branch                 # liste les branches / list branches
git merge ma-feature       # fusionne dans la branche courante / merge into current branch
git rebase main            # rejoue tes commits sur main / replay your commits onto main
git branch -d ma-feature   # supprime une branche fusionnée / delete a merged branch

Inspecter

Avant de committer, de merger ou de débugger : regarde. diff pour les modifs en cours, log pour l'histoire, show pour un commit précis, blame pour savoir quel commit a touché quelle ligne (et lire son message, pas pour accuser un collègue).

shell
git log --oneline --graph --all   # historique compact et visuel / compact visual history
git diff                          # modifs non stagées / unstaged changes
git diff --staged                 # modifs stagées / staged changes
git show <commit>                 # détail d'un commit / one commit in detail
git blame <fichier>               # qui a modifié quelle ligne / who changed which line

Les pièges

Les erreurs qui reviennent tout le temps :

  • git pull avec des modifs en cours → conflit ou refus. Commit ou git stash d'abord.
  • Committer sur main par réflexe → prends l'habitude du git switch -c avant de coder.
  • ⚠️ git checkout -- <fichier> / git restore <fichier> écrase tes modifs non commitées, sans retour possible. Vérifie avec git diff avant.
  • ⚠️ git clean -fd supprime définitivement les fichiers non suivis. Fais toujours un git clean -nd (dry-run) d'abord.
  • Fichiers sensibles commités (.env, clés) → un .gitignore propre dès le début coûte moins cher qu'une purge d'historique.

Pour annuler proprement une bêtise, voir la fiche git-annuler.

shell
git stash          # met de côté tes modifs en cours / shelve pending changes
git stash pop      # les récupère / bring them back
git clean -nd      # dry-run : montre ce qui serait supprimé / shows what would be deleted