Aide-mémoire Git — Les commandes à copier

Toutes les commandes Git que vous utilisez au quotidien, et celles dont vous avez besoin quand ça tourne mal, expliquées en une ligne. Saisissez une fois vos noms de branche, de distant et de fichier, puis copiez des commandes prêtes à l’emploi.

Mis à jour le
Vos valeursChaque exemple ci-dessous se met à jour en temps réel

Configuration initiale

7
git config --global user.name "Ada Lovelace"

Définit le nom d’auteur enregistré dans vos commits.

git config --global user.email "ada@example.com"

Définit l’e-mail enregistré dans vos commits : utilisez celui lié à votre compte GitHub ou GitLab.

git config --global init.defaultBranch main

Donne son nom à la première branche de chaque nouveau dépôt.

git config --global pull.rebase true

Fait en sorte que git pull rebase vos commits locaux au lieu de créer des commits de merge.

git config --global core.editor "code --wait"

Utilise VS Code pour les messages de commit et les rebases interactifs.

git config --global alias.lg "log --oneline --graph --decorate --all"

Ajoute un raccourci git lg pour un graphe d’historique compact.

git config --list --show-origin

Affiche chaque paramètre et le fichier dont il provient : pratique quand un réglage « ne fonctionne pas ».

Créer un dépôt

6
git init

Transforme le dossier courant en dépôt Git.

git clone git@github.com:acme/app.git

Télécharge un dépôt avec tout son historique.

git clone --depth 1 git@github.com:acme/app.git

Clone superficiel avec le dernier commit seulement : beaucoup plus rapide pour les grands dépôts et la CI.

git remote add origin git@github.com:acme/app.git

Relie un dépôt local à un distant.

git remote -v

Liste les distants et leurs URL de fetch et de push.

git remote set-url origin git@github.com:acme/app.git

Modifie l’URL d’un distant, par exemple de HTTPS vers SSH.

Indexer & commiter

12
git status -sb

Statut court avec le nom de la branche et votre écart avec le distant (avance ou retard).

git add src/app.js

Indexe un fichier pour le prochain commit.

git add -p

Examine et indexe les modifications bloc par bloc : la meilleure façon de faire des commits ciblés.

git add -A

Indexe tout : fichiers ajoutés, modifiés et supprimés.

git commit -m "Add login form"

Crée un commit avec les modifications indexées et un message.

git commit --amend --no-edit

Ajoute les modifications indexées au dernier commit et conserve son message. À éviter pour les commits déjà poussés.

git commit --amend -m "Better message"

Réécrit le message du dernier commit.

git diff

Affiche les modifications qui ne sont pas encore indexées.

git diff --staged

Affiche exactement le contenu du prochain commit.

git restore --staged src/app.js

Désindexe un fichier tout en conservant vos modifications.

git restore src/app.js

destructif Annule les modifications non commitées d’un fichier et le restaure au dernier commit.

git rm --cached src/app.js

Arrête de suivre un fichier (par exemple après l’avoir ajouté à .gitignore) tout en le gardant sur le disque.

Branches

9
git branch -a

Liste les branches locales et distantes.

git switch -c feature/login

Crée une nouvelle branche et bascule dessus.

git switch feature/login

Bascule sur une branche existante.

git switch -

Revient à la branche sur laquelle vous étiez auparavant.

git branch -m feature/login

Renomme la branche courante.

git branch --merged main

Liste les branches déjà fusionnées dans la branche principale : suppression sans risque.

git branch -d feature/login

Supprime une branche locale déjà fusionnée.

git branch -D feature/login

destructif Supprime de force une branche locale, même si ses commits ne sont fusionnés nulle part.

git push origin --delete feature/login

destructif Supprime la branche sur le distant.

Synchroniser avec le distant

6
git fetch --all --prune

Télécharge les nouveaux commits et supprime les références aux branches distantes disparues.

git pull

Récupère la branche amont et l’intègre dans la branche courante.

git pull --rebase origin main

Rejoue vos commits locaux par-dessus la dernière version de main.

git push -u origin feature/login

Pousse une nouvelle branche et la définit comme amont, pour que les prochains git push n’aient pas besoin d’arguments.

git push --force-with-lease

destructif Force le push après un rebase, mais refuse si quelqu’un a poussé entre-temps. Bien plus sûr que --force.

git push origin --tags

Pousse tous les tags locaux.

Merge & rebase

10
git merge feature/login

Fusionne une autre branche dans la branche courante.

git merge --no-ff feature/login

Crée toujours un commit de merge pour que la branche reste visible dans l’historique.

git merge --squash feature/login

Indexe toutes les modifications d’une branche en un seul bloc, prêt pour un commit unique.

git rebase main

Replace les commits de votre branche par-dessus la dernière version de main, pour un historique linéaire.

git rebase -i HEAD~3

destructif Fusionne, réordonne, reformule ou supprime interactivement les N derniers commits. Réécrit l’historique.

git rebase --continue

Poursuit le rebase après résolution des conflits et indexation des fichiers.

git rebase --abort

Annule le rebase et revient à l’état de départ.

git merge --abort

Annule un merge en conflit.

git checkout --theirs src/app.js

En cas de conflit, prend la version entrante d’un fichier (--ours conserve la vôtre).

git cherry-pick a1b2c3d

Applique un seul commit d’une autre branche sur la branche courante.

Annuler & corriger ses erreurs

9
git reset --soft HEAD~1

Annule le dernier commit mais garde ses modifications indexées.

git reset HEAD~1

Annule le dernier commit et garde ses modifications sous forme de changements non indexés.

git revert a1b2c3d

Crée un nouveau commit qui annule un commit précédent : la méthode sûre sur les branches partagées.

git reset --hard HEAD~1

destructif Supprime le dernier commit et toutes ses modifications.

git reset --hard origin/main

destructif Aligne exactement votre branche locale sur le distant, en supprimant les commits et modifications locaux.

git reflog

Liste les commits pointés récemment par HEAD : c’est ainsi que vous retrouvez les commits « perdus » après un mauvais reset ou rebase.

git reset --hard HEAD@{1}

destructif Revient à l’emplacement de HEAD avant le dernier reset, rebase ou checkout.

git clean -nd

Prévisualise les fichiers et dossiers non suivis que git clean supprimerait.

git clean -fd

destructif Supprime les fichiers et dossiers non suivis. Lancez d’abord la prévisualisation -nd.

Stash

6
git stash push -m "wip: feature/login"

Met de côté les modifications non commitées, avec un libellé.

git stash -u

Stash incluant les fichiers non suivis.

git stash list

Liste tous les stashs.

git stash pop

Réapplique le dernier stash et le retire de la liste.

git stash apply stash@{0}

Réapplique un stash mais le conserve dans la liste.

git stash drop stash@{0}

destructif Supprime définitivement un stash.

Historique & inspection

9
git log --oneline --graph --all

Graphe compact de toutes les branches.

git log -p -- src/app.js

Historique d’un fichier avec le diff de chaque modification.

git log --author="Ada Lovelace" --since="2 weeks ago"

Commits d’un auteur sur une période donnée.

git log -S "functionName"

Trouve les commits qui ont ajouté ou supprimé une chaîne : idéal pour « quand est-ce que ça a disparu ? ».

git blame -w src/app.js

Affiche qui a modifié chaque ligne en dernier, en ignorant les changements d’espaces seuls.

git show a1b2c3d

Affiche le message et le diff d’un commit.

git diff main...feature/login

Modifications faites sur une branche depuis sa création à partir de main : ce que montrerait une pull request.

git shortlog -sn

Nombre de commits par auteur.

git bisect start
git bisect bad
git bisect good v1.2.0

Recherche dichotomique dans l’historique du commit qui a introduit un bug. Marquez chaque étape comme bonne ou mauvaise, puis lancez git bisect reset.

Tags & versions

4
git tag -a v1.2.0 -m "Release v1.2.0"

Crée un tag annoté pour une version.

git push origin v1.2.0

Pousse un tag.

git describe --tags --abbrev=0

Affiche le tag le plus récent.

git tag -d v1.2.0

destructif Supprime un tag local.

Worktrees & extras

4
git worktree add ../feature/login feature/login

Extrait une autre branche dans un dossier séparé : travaillez sur deux branches sans stash.

git worktree list

Liste les worktrees liés.

git submodule update --init --recursive

Récupère et extrait tous les submodules après un clone.

git archive --format=zip -o release.zip HEAD

Exporte l’arborescence courante en ZIP, sans le dossier .git.

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : Aide-mémoire Git

  1. Saisissez vos propres valeurs (branche, distant, fichier, commit) dans les champs en haut de page : chaque exemple se met à jour immédiatement.
  2. Recherchez ou accédez directement à une section pour trouver la commande dont vous avez besoin.
  3. Cliquez sur Copier pour copier une ligne prête à l’emploi, ou sur Copier la section pour obtenir un bloc commenté.
  4. Les commandes marquées destructif suppriment ou écrasent des données : lisez la note avant de les exécuter.

Le workflow Git en une minute

La plupart du travail suit la même boucle : créer une branche avec git switch -c, faire les modifications, les relire avec git diff, les indexer avec git add -p, committer, puis pousser avec git push -u. Avant d’ouvrir une pull request, mettez votre branche à jour avec git pull --rebase origin main pour qu’elle s’applique proprement.

Les commandes qui réécrivent l’historique

commit --amend, rebase, reset et push --force modifient des commits existants. C’est sans problème sur une branche que vous êtes seul à utiliser, mais sur une branche partagée, cela oblige tous les autres à réparer leur copie. Sur une branche partagée, annulez avec git revert et, si vous devez absolument forcer le push, utilisez --force-with-lease.

Rien n’est perdu pendant 30 jours

Même après un reset --hard ou un rebase malencontreux, le travail commité reste dans le dépôt. git reflog liste les positions successives de HEAD, ce qui vous permet de revenir à n’importe quel état récent. Les modifications non commitées sont l’exception : committez ou stashez souvent.

Générez des commandes pour des situations précises avec le générateur de commandes Git et initialisez de nouveaux dépôts avec le générateur de .gitignore.

Aussi recherché comme : commandes git, liste des commandes git, référence git, annuler un commit git, git rebase, git stash, commandes git avec exemples.

Outils complémentaires : Aide-mémoire Git

  • Aide-mémoire Docker — Les commandes Docker et Docker Compose dont vous avez besoin chaque semaine, expliquées en une ligne.
  • Aide-mémoire commandes Linux — Les commandes Linux et bash utilisées par les développeurs sur les serveurs et les ordinateurs portables : fichiers, recherche, permissions, processus, journaux, réseau et SSH.
  • Prompts IA pour développeurs — Des prompts éprouvés pour les tâches de code du quotidien : débogage, revues, tests, refactoring, SQL, messages de commit et documentation.
  • Aide-mémoire PowerShell — Les commandes PowerShell utilisées au quotidien par les développeurs et administrateurs sous Windows, et dans PowerShell 7 sur macOS et Linux, expliquées en une ligne chacune.

Questions fréquentes

Quelle est la différence entre git fetch et git pull ?
git fetch télécharge les nouveaux commits du distant sans toucher à votre branche. git pull les récupère puis les fusionne (ou les rebase) dans votre branche courante.
Comment annuler le dernier commit ?
Utilisez git reset --soft HEAD~1 pour annuler le commit tout en gardant les modifications indexées. Si le commit est déjà poussé sur une branche partagée, utilisez plutôt git revert <commit> afin de ne pas réécrire l’historique de quiconque.
Faut-il utiliser merge ou rebase ?
Rebasez votre branche de fonctionnalité sur main pour garder un historique linéaire et facile à lire. Utilisez merge (ou squash-merge) pour intégrer un travail terminé dans une branche partagée. Ne rebasez jamais des commits que d’autres ont déjà récupérés.
Comment retrouver un commit perdu après un reset ?
Lancez git reflog, repérez la ligne correspondant à l’état avant le reset, puis exécutez git reset --hard HEAD@{n} ou créez une branche à partir du hash de ce commit.
Puis-je installer Aide-mémoire Git en tant qu’application web et l’utiliser hors ligne ?
Oui. Aide-mémoire Git est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires