đ§Â Initialisation & Configuration
git init
Description :Â Initialise un nouveau repository Git.
Syntaxe :Â
git init [<directory>] [options]Voici un tableau récapitulatif clair et structuré de la commande
git initavec ses options principales et un exemple dâutilisation pour chacune :
Option Description Exemple Initialise un repository Git dans le dossier courant (avec working directory). git init--bareInitialise un repository bare sans working directory (uniquement les donnĂ©es internes Git). git init --bare monrepo.git--template=<rĂ©pertoire>Utilise un rĂ©pertoire de template personnalisĂ© pour initialiser le dĂ©pĂŽt (hooks, etc.). git init --template=/chemin/templates--separate-git-dir=<rĂ©pertoire>Place le dossier .gitailleurs (hors du rĂ©pertoire courant).git init --separate-git-dir=/chemin/.git--shared[=valeur]DĂ©finit les permissions dâaccĂšs au dĂ©pĂŽt (ex : privĂ©, groupe, public, code octal). git init --shared=group-q,--quietMode silencieux, affiche uniquement les messages critiques ou erreurs. git init --quiet-b <branche>,--initial-branch=<branche>DĂ©finit le nom de la branche initiale (ex : mainoumaster).git init --initial-branch=main--object-format=<format>DĂ©finit le format dâobjet Git (sha1 par dĂ©faut, sha256 si activĂ©). git init --object-format=sha256--ref-format=<format>DĂ©finit le format des rĂ©fĂ©rences Git ( filesoureftable).git init --ref-format=reftableQuelques prĂ©cisions rapides :
-bare: utile pour crĂ©er un dĂ©pĂŽt central sans copie des fichiers, par exemple pour partager sur un serveur.-template: permet dâajouter des hooks personnalisĂ©s ou fichiers de config au moment de lâinitialisation.-shared: trĂšs utile sur un serveur ou dĂ©pĂŽt multi-utilisateurs pour gĂ©rer permissions (ex :grouppour accĂšs en groupe).-initial-branch: important pour nommer la branche principale, souventmainde nos jours au lieu demaster.Explications supplĂ©mentaires :
- Repository bare : Pas de copie des fichiers sources, uniquement le dossier
.gitĂ la racine. Utile comme dĂ©pĂŽt central.- Template : Permet dâajouter des hooks ou fichiers par dĂ©faut Ă la crĂ©ation.
- Separate git dir : Sépare les données Git du code pour organiser le stockage.
- Shared : Pour contrÎler qui peut accéder au repo.
- Initial branch : Moderne permettant de nommer la branche initiale (ex :
mainau lieu demaster).- Object and ref formats : Options avancées pour les mécanismes Git internes.
Exemple minimal pour un repo normal :
git initExemple dâun repo bare pour serveur :
git init --bare projet.gitExemple avec template personnalisé :
git init --template=/usr/share/git-core/templates/mytemplateExemple pour changer le nom de branche par défaut :
Link to original git init -b main
git config
Description :Â Configure les paramĂštres Git.
Syntaxe :Â
git config [<file-option>] [type] [--show-origin] [-z|--null] name [value]RĂ©fĂ©rence ComplĂšte des Sections et Variables de Configuration Git (git config) Voici un tableau rĂ©capitulatif de la commandegit configavec ses options principales accompagnĂ©es dâexemples :
Option Description Exemple (sans option) Affiche la valeur dâune clĂ© spĂ©cifique, ou liste toute la configuration si aucune clĂ© spĂ©cifiĂ©e git config user.name--globalApplique la configuration au niveau global ( ~/.gitconfig)git config --global user.email "user@example.com"--systemApplique la configuration au niveau systĂšme (/etc/gitconfig ou fichier global) git config --system core.editor "vim"--localApplique la configuration uniquement au dĂ©pĂŽt courant (fichier .git/config)git config --local color.ui true--worktreeApplique la configuration au niveau du worktree (git 2.13+) git config --worktree user.name "Worktree User"--file <fichier>Utilise un fichier de configuration spĂ©cifique git config --file=./custom.config alias.co checkout--list/-lListe toutes les configurations chargĂ©es git config --list--unset <clĂ©>Supprime la configuration correspondante git config --global --unset user.name--unset-all <clĂ©>Supprime toutes les entrĂ©es de la clĂ© git config --global --unset-all alias.co--add <clĂ©> <valeur>Ajoute une nouvelle valeur pour une clĂ© git config --global --add alias.lg "log --graph --oneline"-e,--editOuvre le fichier de configuration dans lâĂ©diteur par dĂ©faut git config --global --edit--replace-all <clĂ©> <valeur>Remplace toutes les valeurs existantes avec celle fournie git config --global --replace-all user.email "new@example.com"Quelques exemples concrets
*# Configurer le nom d'utilisateur globalement* git config --global user.name "John Doe" *# Configurer l'email uniquement pour ce dĂ©pĂŽt* git config --local user.email "john@example.com" *# Voir toutes les configurations en cours* git config --list *# Ajouter un alias pour 'checkout'* git config --global --add alias.co checkout *# Supprimer une configuration globale* git config --global --unset user.signingkey *# Ăditer la configuration globale dans l'Ă©diteur* git config --global --editCette commande est trĂšs puissante pour personnaliser Git, dĂ©finir des alias, les prĂ©fĂ©rences dâutilisateur, et plus encore. Nâoublie pas dâutiliser
Link to originalgit config --helppour afficher toutes les options et la documentation complĂšte.
git clean
Description : Supprime les fichiers non trackés du working directory.
Syntaxe :Â
git clean [<options>] [<path>...]Link to original
Option Description Utilisation principale git clean -fForce la suppression des fichiers non trackés Nettoyer le répertoire de travail -dSupprime aussi les répertoires vides Nettoyage complet -n, --dry-runSimule sans supprimer Voir ce qui serait supprimé -i, --interactiveMode interactif Nettoyage sélectif -xSupprime aussi les fichiers ignorés Nettoyage total (build artifacts, etc.) -XSupprime seulement les fichiers ignorés Nettoyer les fichiers de build
git gc
Description : Optimise le dépÎt Git (garbage collection).
Syntaxe :Â
git gc [<options>]Link to original
Option Description Utilisation principale git gcLance lâoptimisation automatique Maintenance rĂ©guliĂšre du dĂ©pĂŽt --aggressiveOptimisation plus poussĂ©e mais plus lente Nettoyage en profondeur --autoLance gc seulement si nĂ©cessaire Maintenance conditionnelle --prune=<date>Supprime les objets plus anciens que la date Nettoyage ciblĂ© par Ăąge
đ Sous-modules
git submodule
Description :Â GĂšre les sous-modules Git.
Syntaxe :Â
git submodule [<options>] <command> [<args>]Link to original
Sous-commande Description Utilisation principale git submodule add <url>Ajoute un nouveau sous-module IntĂ©grer un projet externe git submodule initInitialise les sous-modules PrĂ©parer les sous-modules aprĂšs clone git submodule updateMet Ă jour les sous-modules vers les commits rĂ©fĂ©rencĂ©s Synchroniser les sous-modules git submodule statusAffiche lâĂ©tat des sous-modules VĂ©rifier lâĂ©tat des dĂ©pendances git submodule foreachExĂ©cute une commande dans chaque sous-module Actions en lot sur les sous-modules
đ Formatage & Export
git archive
Description : Crée une archive des fichiers du dépÎt.
Syntaxe :Â
git archive [<options>] <tree-ish> [<path>...]Link to original
Option Description Utilisation principale git archive <commit>CrĂ©e une archive tar du commit spĂ©cifiĂ© Export dâune version --format=<format>SpĂ©cifie le format (tar, zip, etc.) Archives dans diffĂ©rents formats --output=<fichier>Nom du fichier de sortie SpĂ©cifier le nom dâarchive --prefix=<prĂ©fixe>Ajoute un prĂ©fixe aux chemins dans lâarchive Organisation de lâarchive
đ Fichiers & RĂ©pertoire
git mv
Description : Déplace ou renomme un fichier, dossier ou lien symbolique.
Syntaxe :Â
git mv [<options>] <source> <destination>Link to original
Option Description Utilisation principale git mv <source> <dest>DĂ©place ou renomme un fichier/dossier Renommer ou dĂ©placer des fichiers trackĂ©s -f, --forceForce le dĂ©placement mĂȘme si la destination existe Ăcraser un fichier existant -kIgnore les erreurs et continue avec les autres fichiers Traitement en lot robuste -n, --dry-runSimule lâopĂ©ration sans lâexĂ©cuter VĂ©rifier avant dâagir -v, --verboseAffiche les dĂ©tails des opĂ©rations effectuĂ©es Voir ce qui est dĂ©placĂ©
git rm
Description :Â Supprime les fichiers du suivi Git et du disque.
Syntaxe :Â
git rm [<options>] <fichier>...Link to original
Option Description Utilisation principale git rm <fichier>Supprime le fichier du suivi Git et du disque Supprimer dĂ©finitivement un fichier --cachedSupprime seulement du suivi Git, laisse le fichier sur disque ArrĂȘter de tracker sans supprimer -rSuppression rĂ©cursive (pour les dossiers) Supprimer des rĂ©pertoires entiers -f, --forceForce la suppression mĂȘme si le fichier a des modifications Supprimer malgrĂ© des changements -n, --dry-runSimule la suppression sans lâexĂ©cuter VĂ©rifier quels fichiers seraient supprimĂ©s -q, --quietMode silencieux Suppression sans messages --ignore-unmatchNe pas Ă©chouer si les fichiers nâexistent pas Scripts robustes
git restore
Description :Â Restaure les fichiers dans le working directory ou lâindex.
Syntaxe :Â
git restore [<options>] <pathspec>...Link to original
Option Description Utilisation principale git restore <fichier>Restaure le fichier depuis le dernier commit Annuler les modifications dâun fichier --stagedRestaure depuis lâindex (unstage) Annuler un git add --worktreeRestaure dans le rĂ©pertoire de travail (dĂ©faut) PrĂ©ciser explicitement la cible --source=<commit>Restaure depuis un commit spĂ©cifique RĂ©cupĂ©rer une version antĂ©rieure -p, --patchMode interactif pour restaurer partiellement Restauration sĂ©lective par morceaux --staged --worktreeRestaure Ă la fois lâindex et le working directory Restauration complĂšte -q, --quietMode silencieux Restauration sans messages
đŠÂ TĂ©lĂ©chargement & Clonage
git clone
Description :Â Clone un repository distant.
Syntaxe :Â
git clone [<options>] <repository> [<directory>]Voici un tableau synthétique des principales options/arguments de la commande
git cloneavec leur description et un exempleâŻ:
Option Description Exemple (aucune)Clone le dépÎt distant (toutes les branches, HEAD checkout) git clone <https://github.com/user/repo.git>-b <nom>,--branch <nom>Clone et positionne le HEAD sur la branche ou le tag indiqué git clone -b develop <https://github.com/user/repo.git>-o <nom>,--origin <nom>Donne un nom personnalisé au remote (au lieu de origin
)git clone -o upstream <https://github.com/user/repo.git>--bareCrĂ©e un dĂ©pĂŽt bare (sans working directory), utilisĂ© comme dĂ©pĂŽt central git clone --bare <https://github.com/user/repo.git>âmirror CrĂ©e un miroir complet (inclut toutes les refs, tags, branches, hooks - pour duplication exacte) git clone --mirror <https://github.com/user/repo.git>âdepth Clone en mode shallowâŻ: rĂ©cupĂšre seulement les nderniers commitsgit clone --depth 1 <https://github.com/user/repo.git>--single-branchNe clone que la branche spĂ©cifiĂ©e (par dĂ©faut avec --depth, sinon toutes les branches)git clone --single-branch -b develop ...âno-single-branch Avec --depth, rĂ©cupĂšre aussi les branches proches non shallowgit clone --depth 10 --no-single-branch ...recursive
,--recurse-submodulesClone le dépÎt ainsi que ses submodules git clone --recursive ...--shallow-submodulesClone les submodules aussi en mode shallow git clone --recurse-submodules --shallow-submodules ...-c <clé>=<valeur>,--config <clé>=<valeur>Applique une configuration spécifique au dépÎt cloné ( git configinitiale)git clone -c core.autocrlf=false ...
âtemplate=<dossier>Utiliser un dossier de template personnalisĂ© (hook, etc.) git clone --template=/chemin/template ...-q,--quietMode silencieuxâŻ: messages succincts git clone --quiet ...-v,--verboseMode verbeuxâŻ: affiche plus dâinformations git clone --verbose ...-n, âno-checkoutNe fait pas le checkout aprĂšs clone (juste le dĂ©pĂŽt) git clone --no-checkout ...-l,--localClone optimisĂ© pour dĂ©pĂŽt local (hardlinks sur objets, par dĂ©faut pour chemins locaux) git clone -l /chemin/vers/repo--no-localForce un clone ânormalâ mĂȘme si le dĂ©pĂŽt source est local git clone --no-local /chemin/vers/repo-s, âsharedClone en partageant les objets avec le repo source (alternates, pas de duplicata) git clone -s /chemin/vers/repoâno-hardlinks DĂ©sactive lâutilisation de hardlinks mĂȘme pour clone local git clone --no-hardlinks /chemin/vers/repoâreference <repo>Utilise dĂ©jĂ des objets existants dans un autre dĂ©pĂŽt comme cache git clone --reference=../autrerepo ...-u <upload-pack>,âupload-pack<chemin>Chemin dâun programme upload-pack distant pour SSH git clone -u ssh-upload-pack ...Points importants
cpermet dâinjecter une config git locale dĂšs le clonage.- Avec un repo bare, pas de working directoryâŻ: utile pour les serveurs dâintĂ©gration ou de backup.
-mirrorclone absolument tout, pas seulement branches et tags, parfait pour de la migration/backup complet.bpermet de cloner et dâĂȘtre tout de suite sur la bonne branche, mĂȘme si ce nâest pas le HEAD.Pour la liste exhaustiveâŻ:
Cf.âŻ: Documentation officielle git-clone135864
Link to original
đ Synchronisation
git push
Description :Â Envoie les commits locaux vers le repository distant.
Syntaxe :Â
git push [<options>] [<repository> [<refspec>...]]Link to original
Option Description Utilisation principale git push <remote>Envoie les commits de la branche locale vers la branche distante correspondante Push standard vers origin -u, --set-upstreamĂtablit le lien de suivi entre branche locale et distante Premier push dâune nouvelle branche -f, --forceForce le push mĂȘme si cela réécrira lâhistorique distant Attention : peut Ă©craser le travail dâautres --force-with-leaseForce le push mais seulement si personne dâautre nâa poussĂ© entre temps Push forcĂ© plus sĂ»r que âforce -d, --deleteSupprime la branche ou le tag distant Nettoyer les branches distantes obsolĂštes --allPousse toutes les branches locales vers le distant Synchronisation massive --tagsPousse tous les tags vers le distant Partager les versions/releases -n, --dry-runSimule le push sans lâexĂ©cuter VĂ©rifier avant dâagir -q, --quietMode silencieux Pour les scripts -v, --verboseMode verbeux avec dĂ©tails DĂ©bogage --pruneSupprime les rĂ©fĂ©rences distantes qui nâexistent plus localement Nettoyage des rĂ©fĂ©rences
đ Staging & Commits
git add
Description :Â Ajoute des fichiers Ă la zone de staging.
Syntaxe :Â
git add [<options>] [--] <pathspec>...Link to original
Option Description Utilisation principale git add <fichier>Ajoute un fichier spĂ©cifique au staging Staging ciblĂ© git add .Ajoute tous les fichiers du rĂ©pertoire courant Staging de tous les changements -A, --allAjoute tous les fichiers du projet (mĂȘme supprimĂ©s) Staging complet du projet -u, --updateAjoute seulement les fichiers dĂ©jĂ trackĂ©s et modifiĂ©s Mise Ă jour des fichiers existants -p, --patchMode interactif pour choisir les parties Ă stager Staging partiel dâun fichier -i, --interactiveMode interactif complet ContrĂŽle fin du staging -n, --dry-runSimule lâajout sans lâexĂ©cuter VĂ©rification avant staging -f, --forceForce lâajout mĂȘme pour les fichiers ignorĂ©s Ajouter des fichiers .gitignore -v, --verboseMode verbeux Voir ce qui est ajoutĂ© --ignore-errorsContinue mĂȘme si certains fichiers ne peuvent ĂȘtre ajoutĂ©s Batch processing robuste
git commit
Description : Crée un commit avec les changements stagés.
Syntaxe :Â
git commit [<options>] [--] <pathspec>...Link to original
Option Description Utilisation principale git commitOuvre lâĂ©diteur pour saisir le message de commit Commit standard avec message dĂ©taillĂ© -m <message>SpĂ©cifie le message de commit directement Commit rapide avec message court -a, --allCommite automatiquement tous les fichiers trackĂ©s modifiĂ©s Commit rapide sans staging prĂ©alable -am <message>Combine -a et -m Commit ultra-rapide --amendModifie le dernier commit au lieu dâen crĂ©er un nouveau Corriger le dernier commit --no-editNe pas ouvrir lâĂ©diteur (avec âamend) Amend rapide sans changer le message -v, --verboseAffiche le diff dans lâĂ©diteur de message Voir les changements lors du commit -n, --no-verifyIgnore les hooks pre-commit et commit-msg Bypass des vĂ©rifications --dry-runSimule le commit sans le crĂ©er VĂ©rification avant commit -s, --signoffAjoute une ligne âSigned-off-byâ ConformitĂ© aux standards de contribution
đżÂ Branches & Merge
git rebase
Description :Â Applique une suite de commits sur une autre base.
Syntaxe :Â
git rebase [<options>] [<upstream> [<branch>]]Link to original
Option Description Utilisation principale git rebase <branche>Rejoue les commits de la branche courante sur la branche spĂ©cifiĂ©e Lineariser lâhistorique -i, --interactiveMode interactif pour modifier, rĂ©ordonner, fusionner les commits Réécriture dâhistorique avancĂ©e --onto <branche>SpĂ©cifie la nouvelle base pour le rebase Rebase sur une branche diffĂ©rente --continueContinue le rebase aprĂšs rĂ©solution des conflits Reprendre aprĂšs conflit --abortAnnule le rebase et revient Ă lâĂ©tat initial Abandonner un rebase problĂ©matique --skipIgnore le commit courant et continue Passer un commit conflictuel --autosquashRĂ©organise automatiquement les commits marquĂ©s pour fixup/squash Nettoyage automatique de lâhistorique --preserve-mergesPrĂ©serve les commits de merge Garder la structure des fusions -X <strategy-option>Options pour la stratĂ©gie de fusion RĂ©solution personnalisĂ©e des conflits
git switch
Description : Change de branche de maniÚre simplifiée (alternative moderne à checkout).
Syntaxe :Â
git switch [<options>] [<branch>]Link to original
Option Description Utilisation principale git switch <branche>Change vers la branche spĂ©cifiĂ©e Navigation simple entre branches -c <branche>CrĂ©e une nouvelle branche et y bascule CrĂ©er et basculer en une commande -C <branche>Force la crĂ©ation dâune branche (Ă©crase si elle existe) RecrĂ©er une branche --detachBascule en mode HEAD dĂ©tachĂ© sur un commit Explorer un commit sans crĂ©er de branche -f, --forceForce le changement mĂȘme avec des modifications non commitĂ©es Changement forcĂ© (perte possible de modifications) --discard-changesJette les modifications locales avant de basculer Nettoyage automatique avant changement --mergeEffectue un merge Ă trois voies si nĂ©cessaire RĂ©cupĂ©rer les modifications lors du changement -t, --trackConfigure le suivi dâune branche distante Lier Ă une branche distante --no-trackNe configure pas le suivi Branche locale indĂ©pendante --guessDevine la branche distante Ă suivre (dĂ©faut) CrĂ©ation automatique de branche de suivi --no-guessDĂ©sactive la dĂ©tection automatique ContrĂŽle strict de la crĂ©ation
git branch
Description :Â Gestion des branches.
Syntaxe :Â
git branch [<options>] [-r | -a] [--merged | --no-merged] [<pattern>...]Link to original
Option Description Utilisation principale git branchListe les branches locales Voir les branches disponibles -a, --allListe toutes les branches (locales et distantes) Vue complĂšte des branches -r, --remotesListe seulement les branches distantes Voir les branches du serveur -v, --verboseAffiche le dernier commit de chaque branche Plus dâinformations sur les branches <nom>CrĂ©e une nouvelle branche CrĂ©er une branche -d, --deleteSupprime une branche (sĂ©curisĂ©) Nettoyer les branches fusionnĂ©es -DForce la suppression dâune branche Supprimer une branche non fusionnĂ©e -m, --moveRenomme une branche Changer le nom dâune branche --mergedListe les branches dĂ©jĂ fusionnĂ©es Identifier les branches Ă nettoyer --no-mergedListe les branches non fusionnĂ©es Voir les branches actives --set-upstream-to=<upstream>DĂ©finit la branche de suivi Configurer le lien avec une branche distante
git checkout
Description :Â Change de branche ou restaure des fichiers.
Syntaxe :Â
git checkout [<options>] <branch>Link to original
Option Description Utilisation principale git checkout <branche>Change vers la branche spĂ©cifiĂ©e Navigation entre branches -b <branche>CrĂ©e et change vers une nouvelle branche CrĂ©er et basculer en une commande -B <branche>Force la crĂ©ation et le changement vers une branche RecrĂ©er une branche existante <fichier>Restore un fichier depuis le dernier commit Annuler les modifications dâun fichier <commit> -- <fichier>Restore un fichier depuis un commit spĂ©cifique RĂ©cupĂ©rer une version antĂ©rieure -p, --patchMode interactif pour restaurer partiellement Restauration sĂ©lective -f, --forceForce le changement mĂȘme avec des modifications non commitĂ©es Changement forcĂ© (perte de modifications) --detachDĂ©tache HEAD (mode detached HEAD) Explorer un commit spĂ©cifique --trackCrĂ©e une branche de suivi pour une branche distante Suivre une branche distante --no-trackNe crĂ©e pas de lien de suivi Branche indĂ©pendante
git merge
Description :Â Fusionne une branche dans la branche courante.
Syntaxe :Â
git merge [<options>] [<commit>...]Options principales :
Link to original
Option Description Utilisation principale git merge <branche>Fusionne la branche spĂ©cifiĂ©e dans la branche courante Fusion standard --no-ffCrĂ©e toujours un commit de merge (pas de fast-forward) Historique explicite des fusions --ff-onlyRefuse la fusion sauf si fast-forward possible Ăviter les commits de merge --squashFusionne en un seul commit sans crĂ©er de commit de merge Simplifier lâhistorique -m <message>SpĂ©cifie le message du commit de merge Message personnalisĂ© --abortAnnule une fusion en cours en cas de conflit Annuler une fusion problĂ©matique --continueContinue une fusion aprĂšs rĂ©solution des conflits Finaliser une fusion aprĂšs conflits -X <strategy-option>Options pour la stratĂ©gie de fusion Fusion personnalisĂ©e --no-commitEffectue la fusion sans crĂ©er le commit automatiquement ContrĂŽle manuel du commit de fusion -v, --verboseMode verbeux DĂ©tails de la fusion
đ Historique & Information
git show
Description : Affiche les dĂ©tails dâun objet Git (commit, tag, arbre, blob).
Syntaxe :Â
git show [<options>] [<objet>...]Link to original
Option Description Utilisation principale git show <commit>Affiche les dĂ©tails dâun commit avec ses modifications Examiner un commit spĂ©cifique --statAffiche les statistiques des fichiers modifiĂ©s RĂ©sumĂ© quantitatif des changements -p, --patchAffiche le diff complet (dĂ©faut pour les commits) Voir le contenu des modifications --name-onlyAffiche seulement les noms des fichiers modifiĂ©s Liste des fichiers changĂ©s --name-statusAffiche les noms et statuts des fichiers Voir les types de modifications --pretty=<format>Format dâaffichage du commit Personnaliser la prĂ©sentation --abbrev-commitUtilise des SHA-1 abrĂ©gĂ©s Affichage plus compact --no-patchNâaffiche pas le diff Voir seulement les mĂ©tadonnĂ©es <commit>:<fichier>Affiche le contenu dâun fichier Ă un commit donnĂ© Examiner une version spĂ©cifique dâun fichier
git log
Description :Â Affiche lâhistorique des commits.
Syntaxe :Â
git log [<options>] [<revision range>] [[--] <path>...]Link to original
Option Description Utilisation principale git logAffiche lâhistorique complet Voir lâhistorique des commits --onelineAffiche un commit par ligne (format condensĂ©) Vue rapide de lâhistorique --graphAffiche un graphique ASCII des branches Visualiser les fusions et branches -n <nombre>Limite le nombre de commits affichĂ©s Voir seulement les derniers commits --since=<date>Affiche les commits depuis une date Historique filtrĂ© par date --until=<date>Affiche les commits jusquâĂ une date Historique bornĂ© dans le temps --author=<auteur>Filtre par auteur Voir les commits dâune personne --grep=<motif>Filtre par message de commit Recherche dans les messages -p, --patchAffiche les diffĂ©rences pour chaque commit Voir le contenu des modifications --statAffiche les statistiques des fichiers modifiĂ©s RĂ©sumĂ© des changements --pretty=<format>Format dâaffichage personnalisĂ© Personnaliser la sortie
git status
Description : Affiche lâĂ©tat du working directory et staging area.
Syntaxe :Â
git status [<options>] [--] [<pathspec>...]Link to original
Option Description Utilisation principale git statusAffiche lâĂ©tat complet du dĂ©pĂŽt Vue dâensemble des modifications -s, --shortFormat court et condensĂ© Vue rapide de lâĂ©tat -b, --branchAffiche les informations de la branche Voir la branche courante et son Ă©tat --porcelainFormat adaptĂ© aux scripts Parsing automatique -u, --untracked-filesContrĂŽle lâaffichage des fichiers non trackĂ©s GĂ©rer lâaffichage des nouveaux fichiers --ignoredAffiche aussi les fichiers ignorĂ©s Debug des rĂšgles .gitignore -zTerminaison par NUL des noms de fichiers Processing sĂ©curisĂ© des noms de fichiers
git diff
Description : Montre les différences entre commits, branches, fichiers.
Syntaxe :Â
git diff [<options>] [<commit>] [--] [<path>...]Link to original
Option Description Utilisation principale git diffDiffĂ©rences entre working directory et staging area Voir les modifications non stagĂ©es --cachedDiffĂ©rences entre staging area et dernier commit Voir ce qui sera committĂ© <commit1>..<commit2>DiffĂ©rences entre deux commits Comparer des versions --name-onlyAffiche seulement les noms des fichiers modifiĂ©s Liste des fichiers changĂ©s --statAffiche les statistiques des modifications RĂ©sumĂ© quantitatif -w, --ignore-all-spaceIgnore les changements dâespaces Diff sans les espaces --color-wordsColore les mots modifiĂ©s Vue fine des changements -U<n>Nombre de lignes de contexte ContrĂŽler le contexte
git grep
Description :Â Recherche dans le contenu des fichiers avec motifs.
Syntaxe :Â
git grep [<options>] <motif> [--] [<paths>...]Link to original
Option Description Utilisation principale git grep <motif>Recherche le motif dans tous les fichiers trackĂ©s Recherche basique -n, --line-numberAffiche les numĂ©ros de ligne Localiser prĂ©cisĂ©ment -i, --ignore-caseIgnore la casse Recherche insensible Ă la casse -w, --word-regexpCherche seulement les mots entiers Recherche prĂ©cise -v, --invert-matchInverse la recherche (lignes ne contenant pas le motif) Recherche inversĂ©e -c, --countAffiche seulement le nombre dâoccurrences par fichier Statistiques de recherche -l, --files-with-matchesAffiche seulement les noms de fichiers contenant le motif Liste des fichiers concernĂ©s -p, --show-functionAffiche la fonction englobante Contexte de programmation --cachedRecherche dans lâindex au lieu du working directory Recherche dans les fichiers stagĂ©s -e <motif>SpĂ©cifie le motif (utile si le motif commence par -) Motifs complexes
đ Annulation & Correction
git stash
Description : Sauvegarde temporairement les modifications non commitées.
Syntaxe :Â
git stash [<options>] [<message>]Link to original
Option Description Utilisation principale git stashSauvegarde les modifications dans une pile temporaire Changer de branche rapidement git stash popApplique et supprime le dernier stash RĂ©cupĂ©rer ses modifications git stash listListe tous les stashs sauvegardĂ©s Voir les sauvegardes disponibles git stash applyApplique le stash sans le supprimer RĂ©utiliser un stash plusieurs fois git stash dropSupprime un stash spĂ©cifique Nettoyer les stashs obsolĂštes git stash showAffiche le rĂ©sumĂ© dâun stash Voir ce qui est dans un stash -u, --include-untrackedInclut les fichiers non trackĂ©s Stash complet avec nouveaux fichiers -k, --keep-indexGarde les modifications dans lâindex Stash sĂ©lectif -p, --patchMode interactif pour choisir les parties Ă stasher Stash partiel
git cherry-pick
Description : Applique les modifications dâun commit spĂ©cifique sur la branche courante.
Syntaxe :Â
git cherry-pick [<options>] <commit>...Link to original
Option Description Utilisation principale git cherry-pick <commit>Applique les modifications du commit sur la branche courante RĂ©cupĂ©rer un commit dâune autre branche -n, --no-commitApplique sans crĂ©er de commit automatiquement PrĂ©parer plusieurs cherry-picks -xAjoute â(cherry picked from commit âŠ)â au message TraçabilitĂ© du cherry-pick --continueContinue aprĂšs rĂ©solution de conflits Finaliser un cherry-pick conflictuel --abortAnnule le cherry-pick en cours Abandonner un cherry-pick problĂ©matique -m <parent-number>Pour cherry-pick un merge, spĂ©cifie quel parent utiliser Cherry-pick dâune fusion
git reset
Description : Reset HEAD courante vers état spécifié.
Syntaxe :Â
git reset [<mode>] [<commit>]Link to original
Option Description Utilisation principale git reset <commit>Reset soft vers le commit (garde staging et working directory) Défaire des commits en gardant les changements --soft <commit>Reset seulement HEAD, garde staging et working directory Recommitter différemment --mixed <commit>Reset HEAD et staging, garde working directory (défaut) Défaire le staging --hard <commit>Reset HEAD, staging et working directory Tout annuler vers un état propre <fichier>Retire un fichier du staging Défaire un git add HEAD~<n>Reset vers n commits en arriÚre Revenir en arriÚre
git revert
Description : Crée nouveaux commits qui annulent commits existants.
Syntaxe :Â
git revert [<options>] <commit>...Link to original
Option Description Utilisation principale git revert <commit>CrĂ©e un commit qui annule les changements du commit spĂ©cifiĂ© Annuler un commit de façon sĂ»re -n, --no-commitEffectue le revert sans crĂ©er le commit automatiquement PrĂ©parer plusieurs reverts -m <parent-number>Pour reverter un merge, spĂ©cifie quel parent garder Reverter une fusion --continueContinue un revert aprĂšs rĂ©solution de conflits Finaliser un revert conflictuel --abortAnnule un revert en cours Abandonner un revert problĂ©matique --editOuvre lâĂ©diteur pour modifier le message Personnaliser le message de revert --no-editUtilise le message par dĂ©faut Revert automatique
git bisect
Description :Â Utilise la recherche binaire pour trouver un commit qui introduit un bug.
Syntaxe :Â
git bisect <subcommande> [<options>]Link to original
Sous-commande Description Utilisation principale git bisect startDémarre une session de bisect Début de recherche de bug git bisect bad [<commit>]Marque un commit comme contenant le bug Indiquer un commit défaillant git bisect good [<commit>]Marque un commit comme ne contenant pas le bug Indiquer un commit fonctionnel git bisect resetTermine la session et revient à la branche originale Fin de recherche git bisect skipIgnore le commit courant (non testable) Passer un commit problématique git bisect logAffiche le journal de la session bisect Suivi de la recherche git bisect replay <file>Rejoue une session depuis un fichier de log Répéter une recherche git bisect run <cmd>Automatise le bisect avec une commande de test Recherche automatisée
đ Analyse & DĂ©bug
git blame
Description : Affiche qui a modifiĂ© chaque ligne dâun fichier et quand.
Syntaxe :Â
git blame [<options>] <fichier>Link to original
Option Description Utilisation principale git blame <fichier>Affiche lâauteur et le commit pour chaque ligne Trouver qui a Ă©crit une ligne de code -L <dĂ©but>,<fin>Limite lâanalyse Ă une plage de lignes Analyser une section spĂ©cifique -CDĂ©tecte les lignes copiĂ©es/dĂ©placĂ©es dans le mĂȘme commit Analyse approfondie des modifications -MDĂ©tecte les lignes dĂ©placĂ©es/copiĂ©es entre fichiers Suivi des refactorisations -wIgnore les changements dâespaces Focus sur les vraies modifications
git reflog
Description : Affiche lâhistorique des rĂ©fĂ©rences (oĂč HEAD a pointĂ©).
Syntaxe :Â
git reflog [<options>] [<ref>]Link to original
Option Description Utilisation principale git reflogAffiche lâhistorique de HEAD RĂ©cupĂ©rer des commits âperdusâ git reflog <branche>Affiche lâhistorique dâune branche spĂ©cifique Analyser lâĂ©volution dâune branche --allAffiche le reflog de toutes les rĂ©fĂ©rences Vue globale des mouvements -n <nombre>Limite le nombre dâentrĂ©es affichĂ©es Voir seulement les derniĂšres actions
đ Remote (Distant)
git fetch
Description : RécupÚre les objets et refs depuis un dépÎt distant.
Syntaxe :Â
git fetch [<options>] [<repository> [<refspec>...]]Link to original
Option Description Utilisation principale git fetch <remote>RĂ©cupĂšre les nouvelles donnĂ©es du dĂ©pĂŽt distant sans merger Mise Ă jour des rĂ©fĂ©rences distantes --allRĂ©cupĂšre depuis tous les remotes configurĂ©s Synchronisation multi-remotes -p, --pruneSupprime les rĂ©fĂ©rences de branches distantes supprimĂ©es Nettoyage des branches obsolĂštes --dry-runSimule le fetch sans tĂ©lĂ©charger PrĂ©visualisation --depth <n>Limite la profondeur de lâhistorique rĂ©cupĂ©rĂ© Ăconomie de bande passante --unshallowConvertit un clone shallow en clone complet RĂ©cupĂ©rer tout lâhistorique -f, --forceForce la mise Ă jour des rĂ©fĂ©rences mĂȘme en cas de fast-forward impossible Synchronisation forcĂ©e -t, --tagsRĂ©cupĂšre aussi tous les tags Synchronisation des versions --no-tagsNâinclut pas les tags Fetch ciblĂ© sur le code -v, --verboseMode verbeux DĂ©tails du processus
git remote
Description :Â Gestion des repositories distants.
Syntaxe :Â
git remote [-v | --verbose]Link to original
Option Description Utilisation principale git remoteListe les remotes configurĂ©s Voir les dĂ©pĂŽts distants -v, --verboseAffiche les URLs des remotes DĂ©tails des remotes add <nom> <url>Ajoute un nouveau remote Configurer un nouveau dĂ©pĂŽt distant remove <nom>Supprime un remote Nettoyer les remotes obsolĂštes rename <ancien> <nouveau>Renomme un remote RĂ©organiser les remotes set-url <nom> <url>Change lâURL dâun remote Modifier lâadresse dâun remote show <nom>Affiche les informations dĂ©taillĂ©es dâun remote Diagnostiquer un remote prune <nom>Supprime les rĂ©fĂ©rences des branches distantes supprimĂ©es Nettoyage des rĂ©fĂ©rences
đ·ïžÂ Tags
git tag
Description : Crée, liste, supprime tags.
Syntaxe :Â
git tag [-a | -s | -u <keyid>] [-f] [-m <msg> | -F <file>] [-e] <tagname> [<commit>]Link to original
Option Description Utilisation principale git tagListe tous les tags Voir les versions disponibles <tagname>CrĂ©e un tag lĂ©ger sur le commit courant Marquer une version simple -a <tagname>CrĂ©e un tag annotĂ© Tag avec mĂ©tadonnĂ©es complĂštes -m <message>Message pour le tag annotĂ© Description de la version -d <tagname>Supprime un tag Nettoyer les tags obsolĂštes -l <pattern>Liste les tags correspondant au motif Filtrer les tags -f, --forceForce la crĂ©ation/modification dâun tag existant Remplacer un tag -sCrĂ©e un tag signĂ© (GPG) Tag authentifiĂ© -v <tagname>VĂ©rifie la signature dâun tag ContrĂŽle dâauthenticitĂ© --sort=<key>Trie les tags selon diffĂ©rents critĂšres Organisation des tags