Antisèche de commandes Git

Retrouvez rapidement une commande Git par mot-clé (branche, commit, rebase, stash...), classée par catégorie, avec un bouton pour copier chaque commande directement dans votre terminal.

Démarrer

git init
Initialise un nouveau dépôt Git dans le dossier courant.
git clone <url>
Clone un dépôt distant dans un nouveau dossier local.
git config --global user.name "Nom"
Définit le nom d'auteur global des commits.
git config --global user.email "email"
Définit l'email d'auteur global des commits.

État & historique

git status
Affiche les fichiers modifiés, ajoutés ou non suivis.
git log
Affiche l'historique des commits.
git log --oneline --graph --all
Historique condensé avec graphe des branches.
git diff
Affiche les modifications non indexées.
git diff --staged
Affiche les modifications déjà indexées (staged).
git show <commit>
Affiche le détail d'un commit précis.

Modifier

git add <fichier>
Ajoute un fichier à la zone de staging.
git add -A
Ajoute tous les fichiers modifiés, ajoutés et supprimés.
git commit -m "message"
Crée un commit avec les fichiers indexés.
git commit --amend
Modifie le dernier commit (message et/ou contenu).
git restore <fichier>
Annule les modifications non indexées d'un fichier.
git restore --staged <fichier>
Retire un fichier de la zone de staging sans perdre les modifications.
git rm <fichier>
Supprime un fichier et indexe la suppression.

Branches

git branch
Liste les branches locales.
git branch <nom>
Crée une nouvelle branche.
git switch <branche>
Change de branche active.
git switch -c <branche>
Crée une branche et bascule dessus immédiatement.
git branch -d <branche>
Supprime une branche locale déjà fusionnée.
git branch -D <branche>
Supprime une branche locale de force, même non fusionnée.

Fusion & rebase

git merge <branche>
Fusionne une branche dans la branche courante.
git rebase <branche>
Rejoue les commits de la branche courante sur une autre base.
git rebase -i HEAD~n
Rebase interactif des n derniers commits (réordonner, squasher...).
git cherry-pick <commit>
Applique un commit précis sur la branche courante.

Distant

git remote -v
Liste les dépôts distants configurés.
git fetch
Récupère les références distantes sans les fusionner.
git pull
Récupère et fusionne les changements distants.
git push
Envoie les commits locaux vers le dépôt distant.
git push -u origin <branche>
Envoie une branche et l'associe comme branche de suivi.
git push --force-with-lease
Force l'envoi de façon plus sûre qu'un --force classique.

Annuler

git reset --soft HEAD~1
Annule le dernier commit en gardant les changements indexés.
git reset --mixed HEAD~1
Annule le dernier commit en gardant les changements non indexés.
git reset --hard HEAD~1
Annule le dernier commit et perd définitivement ses changements.
git revert <commit>
Crée un nouveau commit qui annule l'effet d'un commit précédent.

Rangement (stash)

git stash
Met de côté temporairement les modifications en cours.
git stash pop
Réapplique le dernier stash et le retire de la liste.
git stash list
Liste les stashs enregistrés.

Étiquettes

git tag
Liste les tags existants.
git tag -a v1.0.0 -m "message"
Crée un tag annoté.
git push origin --tags
Envoie tous les tags locaux vers le dépôt distant.

Comment ça marche

Une quarantaine de commandes Git courantes sont classées par catégorie (démarrer, état et historique, branches, fusion et rebase, distant, annuler, stash, étiquettes). Tapez un mot clé dans la barre de recherche — un nom de commande (rebase), un concept (« annuler », « fusionner ») ou une catégorie — pour filtrer la liste en direct, puis cliquez sur « Copier » à côté de la commande voulue pour la coller directement dans votre terminal.

Quelle est la différence entre git fetch et git pull ?

git fetch télécharge les nouvelles références du dépôt distant sans modifier votre branche locale, ce qui vous laisse le temps d'inspecter les changements avant de les intégrer. git pull fait la même chose puis fusionne (ou rebase, selon la configuration) automatiquement ces changements dans votre branche courante.

Quand utiliser git reset plutôt que git revert ?

Utilisez git reset pour réécrire l'historique d'une branche qui n'a pas encore été partagée (ou avec prudence en coordination avec l'équipe), et git revert pour annuler proprement un commit déjà poussé et potentiellement utilisé par d'autres, puisqu'il ajoute un nouveau commit d'annulation sans réécrire l'historique existant.

Cette antisèche est entièrement statique et fonctionne hors ligne une fois la page chargée : aucune donnée n'est envoyée à un serveur, y compris votre recherche.