Mise en place et configuration ⤢ git configDéfinit votre nom, votre e-mail ou votre éditeur une fois pour tous vos dépôts. git config --global user.name "Ada" ⤢ git config --global aliasDéfinit un raccourci pour une commande que vous tapez souvent. git config --global alias.co checkout ⤢ git initCrée un nouveau dépôt dans le dossier courant. git init ⤢ git cloneCopie un dépôt distant sur votre machine. git clone git@github.com:org/repo.git ⤢ git clone --depthNe copie que les commits les plus récents d'une seule branche. git clone --depth 1 --single-branch git@github.com:org/repo.git Instantanés de base ⤢ git statusMontre ce qui est préparé, modifié et non suivi. git status -sb ⤢ git addPrépare les changements pour qu'ils entrent dans le prochain commit. git add src/app.ts ⤢ git add -pExamine les changements section par section et ne prépare que ceux que vous acceptez. git add -p src/app.ts ⤢ git add -uPrépare les changements de tous les fichiers suivis sans ajouter de nouveaux fichiers. git add -u ⤢ git commitEnregistre les changements préparés dans un nouveau commit. git commit -m "fix: null check" ⤢ git commit --amendRemplace le dernier commit par une version corrigée. git commit --amend -m "fix: handle empty input" ⤢ git diffMontre les changements non préparés, ou les préparés avec --staged. git diff --staged ⤢ git diff HEADMontre tout changement depuis le dernier commit, préparé ou non. git diff HEAD Branches et fusions ⤢ git branchListe, crée ou supprime des branches. git branch feature-x ⤢ git branch -dSupprime une branche fusionnée (-D force la suppression, -a liste toutes les branches). git branch -d feature-x ⤢ git switchChange de branche (le remplaçant moderne de checkout). git switch feature-x ⤢ git switch -cCrée une nouvelle branche et bascule dessus en une seule étape. git switch -c feature-x ⤢ git checkoutChange de branche ou restaure des fichiers (l'ancienne commande, plus large). git checkout feature-x ⤢ git mergeIntègre les changements d'une autre branche dans la branche courante. git merge feature-x ⤢ git merge --abortAnnule une fusion en conflit et ramène la branche à son état antérieur. git merge --abort ⤢ git rebaseRejoue les commits de la branche courante au sommet d'une autre branche. git rebase main ⤢ git rebase -iFusionne, réordonne ou modifie des commits pendant leur rejeu. git rebase -i main ⤢ git cherry-pickCopie un commit unique d'une autre branche sur celle-ci. git cherry-pick a1b2c3d ⤢ git tagMarque un commit d'une étiquette lisible, comme une version. git tag -a v1.2.0 ⤢ git worktreeExtrait une autre branche dans un dossier séparé, en même temps. git worktree add ../repo-feature feature-x Explorer l'historique ⤢ git logParcourt l'historique des commits. git log --oneline --graph --decorate ⤢ git log --allParcourt l'historique de toutes les branches, pas seulement la courante. git log --oneline --graph --all ⤢ git showAffiche le diff complet et le message d'un commit. git show HEAD ⤢ git blameMontre qui a modifié chaque ligne d'un fichier en dernier. git blame src/app.ts ⤢ git reflogAffiche tous les commits pointés par HEAD, y compris les écartés. git reflog ⤢ git bisectCherche dans l'historique par moitiés pour trouver le commit fautif. git bisect start ⤢ git shortlogRésume les commits par auteur. git shortlog -sn ⤢ git describeNomme le commit courant en comptant depuis l'étiquette la plus proche. git describe --tags Collaboration à distance ⤢ git remoteListe ou ajoute des dépôts distants. git remote add origin <url> ⤢ git remote -vListe les distants avec leurs URLs de fetch et de push. git remote -v ⤢ git fetchTélécharge les changements distants sans toucher à vos branches. git fetch origin ⤢ git fetch --pruneTélécharge les changements et supprime les références aux branches distantes effacées. git fetch --prune ⤢ git pullRécupère et fusionne les changements distants de la branche courante. git pull --rebase ⤢ git pushEnvoie les commits locaux vers le distant. git push -u origin feature-x ⤢ git push --force-with-leaseÉcrase la branche distante, mais seulement si personne n'a poussé avant. git push --force-with-lease origin feature-x Annuler des changements ⤢ git restoreAbandonne les changements de l'arbre de travail, ou les déprépare. git restore src/app.ts ⤢ git restore --stagedDéprépare un fichier en gardant ses modifications dans l'arbre de travail. git restore --staged src/app.ts ⤢ git resetDéplace la pointe de la branche courante et éventuellement l'index. git reset --hard HEAD~1 ⤢ git revertAjoute un nouveau commit qui en annule un autre (sûr à partager). git revert HEAD ⤢ git cleanSupprime les fichiers et dossiers non suivis. git clean -fd Remisage (stash) ⤢ git stashMet de côté le travail non commité et réinitialise l'arbre de travail. git stash -u ⤢ git stash listAffiche tous les stash que vous avez enregistrés. git stash list ⤢ git stash applyRéapplique un stash et le conserve enregistré. git stash apply stash@{1} ⤢ git stash dropSupprime un stash dont vous n'avez plus besoin. git stash drop stash@{1} ⤢ git stash popRéapplique le stash le plus récent puis le supprime. git stash pop Fichiers et sous-modules ⤢ git mvDéplace ou renomme un fichier et prépare le changement. git mv old.ts src/new.ts ⤢ git rmSupprime un fichier et prépare la suppression. git rm src/old.ts ⤢ git submoduleSuit un autre dépôt comme dossier à l'intérieur de celui-ci. git submodule add git@github.com:org/lib.git lib ⤢ git sparse-checkoutN'extrait d'un grand dépôt que les dossiers que vous nommez. git sparse-checkout set src docs ⤢ git archiveExporte l'arbre d'un commit en fichier tar ou zip. git archive -o repo.zip HEAD