Git : les commandes essentielles
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).
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 repoLe 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.
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 commitsAstuce : 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.
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 branchInspecter
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).
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 lineLes pièges
Les erreurs qui reviennent tout le temps :
git pullavec des modifs en cours → conflit ou refus. Commit ougit stashd'abord.- Committer sur
mainpar réflexe → prends l'habitude dugit switch -cavant de coder. - ⚠️
git checkout -- <fichier>/git restore <fichier>écrase tes modifs non commitées, sans retour possible. Vérifie avecgit diffavant. - ⚠️
git clean -fdsupprime définitivement les fichiers non suivis. Fais toujours ungit clean -nd(dry-run) d'abord. - Fichiers sensibles commités (
.env, clés) → un.gitignorepropre 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.
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