Aide-mémoire des commandes Git

Manuel de référence complet des commandes Git, organisé par catégorie pour recherche rapide

Tous: 65 个命令

Commandes basiques(13)

git init

Créer un nouveau dépôt Git dans le dossier courant

git clone <url>

Cloner un dépôt distant localement

git clone --depth=1 <url>

Clone superficiel, récupérer uniquement le dernier commit

git add <file>

Ajouter fichier à la zone de staging

git add .

Ajouter tous les changements à la zone de staging

git commit -m "message"

Commiter les changements staged

git commit --amend

Modifier le dernier commit

git status

Afficher le statut actuel du dépôt

git diff

Afficher les changements unstaged

git diff --staged

Afficher les changements staged

git config --list

Afficher toute la configuration

git config --global user.name "name"

Définir le nom d'utilisateur global

git config --global user.email "email"

Définir l'email global

Gestion de branches(14)

git branch

Lister toutes les branches locales

git branch -a

Lister toutes les branches (incluant remote)

git branch <name>

Créer une nouvelle branche

git branch -d <name>

Supprimer une branche

git branch -m <old> <new>

Renommer une branche

git checkout <branch>

Basculer vers une branche

git checkout -b <branch>

Créer et basculer vers une nouvelle branche

git switch <branch>

Basculer vers une branche (Git 2.23+)

git switch -c <branch>

Créer et basculer vers une nouvelle branche (Git 2.23+)

git merge <branch>

Fusionner la branche spécifiée dans la branche actuelle

git merge --no-ff <branch>

Fusionner avec un commit de fusion

git rebase <branch>

Rebaser la branche actuelle sur la branche spécifiée

git rebase --continue

Continuer le rebase après résolution des conflits

git cherry-pick <commit>

Appliquer un commit spécifique à la branche actuelle

Opérations remote(10)

git remote -v

Afficher les détails du dépôt distant

git remote add <name> <url>

Ajouter un dépôt distant

git fetch <remote>

Récupérer le dernier contenu depuis le remote

git fetch --all

Récupérer les mises à jour depuis tous les remotes

git pull <remote> <branch>

Récupérer et fusionner la branche distante

git pull --rebase

Récupérer et rebaser

git push <remote> <branch>

Push vers le dépôt distant

git push -f

Push forcé (utiliser avec caution)

git push -u origin <branch>

Push et définir la branche upstream

git push origin --delete <branch>

Supprimer la branche distante

Annuler changements(8)

git reset <file>

Unstage un fichier

git reset --soft HEAD~1

Annuler le dernier commit, garder les changements

git reset --mixed HEAD~1

Annuler commit et staging, garder le dossier de travail

git reset --hard HEAD~1

Annuler commit et jeter tous les changements

git revert <commit>

Annuler un commit (crée un nouveau commit)

git restore <file>

Restaurer fichier du dossier de travail (Git 2.23+)

git restore --staged <file>

Unstage fichier (Git 2.23+)

git clean -fd

Supprimer fichiers et dossiers non suivis

Gestion de tags(6)

git tag

Lister tous les tags

git tag <name>

Créer un tag léger

git tag -a <name> -m "msg"

Créer un tag annoté

git tag -d <name>

Supprimer un tag local

git push origin <tag>

Push tag vers remote

git push --tags

Push tous les tags vers remote

Voir l'historique(7)

git log

Afficher l'historique des commits

git log --oneline

Afficher un historique compact

git log --oneline --graph --all

Afficher l'historique de toutes les branches en graph

git show <commit>

Afficher les détails d'un commit

git blame <file>

Afficher l'historique de modification pour chaque ligne

git reflog

Afficher toute l'historique des opérations

git bisect start

Commencer une recherche binaire pour le commit problématique

Stash(7)

git stash

Stasher les changements actuels

git stash save "message"

Stasher les changements avec message

git stash list

Lister tous les stashes

git stash pop

Appliquer et supprimer le dernier stash

git stash apply

Appliquer stash sans supprimer

git stash drop

Supprimer le dernier stash

git stash clear

Supprimer tous les stashes

Qu'est-ce que Git ?

Git est un système de contrôle de version distribué créé par Linus Torvalds pour gérer l'historique de code de projet. Il supporte le développement collaboratif, trace chaque changement de code et fournit gestion de branches et rollback de version.

Maîtriser les commandes Git est essentiel pour chaque développeur. Cet aide-mémoire organise les commandes Git les plus couramment utilisées par catégorie pour référence rapide et apprentissage.

Comment utiliser

Cliquez sur n'importe quelle carte de commande pour copier la commande. Utilisez la zone de recherche pour trouver des commandes spécifiques. Cliquez sur les tabs de catégorie pour filtrer les commandes par type.

Conseils courants

Annuler git add
Utiliser git restore --staged ou git reset pour unstage
Modifier le dernier commit
Utiliser git commit --amend pour modifier le message ou contenu du dernier commit
Sauvegarder la progression de travail
Utiliser git stash pour sauvegarder temporairement le travail et basculer vers d'autres branches
Annuler un commit poussé
Utiliser git revert au lieu de git reset pour éviter de briser l'historique distant
Voir l'historique de fichier
Utiliser git log -p pour voir l'historique complet de modification d'un fichier

FAQ

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

R : git fetch télécharge uniquement les mises à jour distantes sans fusionner ; git pull égale git fetch + git merge. Il est recommandé d'utiliser fetch d'abord pour review les changements avant de décider comment fusionner.

Q : Comment annuler le dernier commit ?

R : Utiliser git reset --soft HEAD~1 pour annuler le commit mais garder les changements ; utiliser git reset --hard HEAD~1 pour complètement annuler et jeter les changements. Si déjà poussé, utiliser git revert pour sécurité.

Q : Comment résoudre les conflits de fusion ?

R : Manuellement edit les fichiers en conflit pour choisir quel contenu garder, puis git add pour marquer comme résolu, finalement git commit pour compléter la fusion. Utiliser git mergetool pour résolution visuelle des conflits.

Q : Quelle est la différence entre git merge et git rebase ?

R : merge crée un commit de fusion préservant l'historique de branches ; rebase déplace les commits vers le bout de la branche cible rendant l'historique plus linéaire. Utiliser merge pour branches partagées, rebase pour branches locales.

Q : Comment supprimer un gros fichier de l'historique ?

R : Utiliser git filter-branch ou BFG Repo-Cleaner. Notez que cela réécrit l'historique nécessitant push forcé.