Skip to content

Commandes Git expliquées

Les commandes Git que vous utilisez vraiment, groupées par tâche : créer un dépôt, figer votre travail, créer des branches et fusionner, lire l'historique, partager avec un dépôt distant, annuler des erreurs, mettre de côté votre travail et gérer fichiers et sous-modules. Chaque ligne associe la commande à une invocation réaliste.

Git compte des centaines de commandes, mais le travail quotidien n'en exige que quelques-unes. Le modèle mental : l'arbre de travail représente vos fichiers, l'index (zone de préparation) est le prochain commit, et HEAD est le commit courant. Vous préparez, vous commitez, vous partagez. Consultez souvent le status. Tout ce qui suit suppose qu'une commande listée existe déjà.

Tableau de référence · 55 entrées
55 of 55 rows
Mise en place et configuration
Définit votre nom, votre e-mail ou votre éditeur une fois pour tous vos dépôts.git config --global user.name "Ada"
Définit un raccourci pour une commande que vous tapez souvent.git config --global alias.co checkout
Crée un nouveau dépôt dans le dossier courant.git init
Copie un dépôt distant sur votre machine.git clone git@github.com:org/repo.git
Ne 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
Montre ce qui est préparé, modifié et non suivi.git status -sb
Prépare les changements pour qu'ils entrent dans le prochain commit.git add src/app.ts
Examine les changements section par section et ne prépare que ceux que vous acceptez.git add -p src/app.ts
Prépare les changements de tous les fichiers suivis sans ajouter de nouveaux fichiers.git add -u
Enregistre les changements préparés dans un nouveau commit.git commit -m "fix: null check"
Remplace le dernier commit par une version corrigée.git commit --amend -m "fix: handle empty input"
Montre les changements non préparés, ou les préparés avec --staged.git diff --staged
Montre tout changement depuis le dernier commit, préparé ou non.git diff HEAD
Branches et fusions
Liste, crée ou supprime des branches.git branch feature-x
Supprime une branche fusionnée (-D force la suppression, -a liste toutes les branches).git branch -d feature-x
Change de branche (le remplaçant moderne de checkout).git switch feature-x
Crée une nouvelle branche et bascule dessus en une seule étape.git switch -c feature-x
Change de branche ou restaure des fichiers (l'ancienne commande, plus large).git checkout feature-x
Intègre les changements d'une autre branche dans la branche courante.git merge feature-x
Annule une fusion en conflit et ramène la branche à son état antérieur.git merge --abort
Rejoue les commits de la branche courante au sommet d'une autre branche.git rebase main
Fusionne, réordonne ou modifie des commits pendant leur rejeu.git rebase -i main
Copie un commit unique d'une autre branche sur celle-ci.git cherry-pick a1b2c3d
Marque un commit d'une étiquette lisible, comme une version.git tag -a v1.2.0
Extrait une autre branche dans un dossier séparé, en même temps.git worktree add ../repo-feature feature-x
Explorer l'historique
Parcourt l'historique des commits.git log --oneline --graph --decorate
Parcourt l'historique de toutes les branches, pas seulement la courante.git log --oneline --graph --all
Affiche le diff complet et le message d'un commit.git show HEAD
Montre qui a modifié chaque ligne d'un fichier en dernier.git blame src/app.ts
Affiche tous les commits pointés par HEAD, y compris les écartés.git reflog
Cherche dans l'historique par moitiés pour trouver le commit fautif.git bisect start
Résume les commits par auteur.git shortlog -sn
Nomme le commit courant en comptant depuis l'étiquette la plus proche.git describe --tags
Collaboration à distance
Liste ou ajoute des dépôts distants.git remote add origin <url>
Liste les distants avec leurs URLs de fetch et de push.git remote -v
Télécharge les changements distants sans toucher à vos branches.git fetch origin
Télécharge les changements et supprime les références aux branches distantes effacées.git fetch --prune
Récupère et fusionne les changements distants de la branche courante.git pull --rebase
Envoie les commits locaux vers le distant.git push -u origin feature-x
Écrase la branche distante, mais seulement si personne n'a poussé avant.git push --force-with-lease origin feature-x
Annuler des changements
Abandonne les changements de l'arbre de travail, ou les déprépare.git restore src/app.ts
Déprépare un fichier en gardant ses modifications dans l'arbre de travail.git restore --staged src/app.ts
Déplace la pointe de la branche courante et éventuellement l'index.git reset --hard HEAD~1
Ajoute un nouveau commit qui en annule un autre (sûr à partager).git revert HEAD
Supprime les fichiers et dossiers non suivis.git clean -fd
Remisage (stash)
Met de côté le travail non commité et réinitialise l'arbre de travail.git stash -u
Affiche tous les stash que vous avez enregistrés.git stash list
Réapplique un stash et le conserve enregistré.git stash apply stash@{1}
Supprime un stash dont vous n'avez plus besoin.git stash drop stash@{1}
Réapplique le stash le plus récent puis le supprime.git stash pop
Fichiers et sous-modules
Déplace ou renomme un fichier et prépare le changement.git mv old.ts src/new.ts
Supprime un fichier et prépare la suppression.git rm src/old.ts
Suit un autre dépôt comme dossier à l'intérieur de celui-ci.git submodule add git@github.com:org/lib.git lib
N'extrait d'un grand dépôt que les dossiers que vous nommez.git sparse-checkout set src docs
Exporte l'arbre d'un commit en fichier tar ou zip.git archive -o repo.zip HEAD