Maîtrisez Git avec ce guide complet des commandes. Gestion de versions, branching, merging, collaboration et workflows Git pour développeurs.
git init
Initialise un nouveau dépôt Git dans le répertoire courant
--bare--template=<template>--shared--quiet--separate-git-dir
git clone
Clone un dépôt distant en local
--branch <name>--depth <depth>--single-branch--no-tags--recurse-submodules--shallow-submodules--remote-submodules--jobs <n>--template=<template>--config <key=value>--origin <name>--bare--mirror--dissociate--quiet--verbose--progress--no-checkout--no-hardlinks--local--no-local--shared--reference <repository>--reference-if-able <repository>
git add
Ajoute des fichiers à l'index (staging area)
--all-A--update-u--patch-p--interactive-i--edit-e--force-f--ignore-removal--no-all--intent-to-add-N--refresh--ignore-errors--renormalize--chmod=(+|-)x--dry-run-n--verbose-v
git status
Affiche l'état du working directory et de la staging area
--short-s--branch-b--porcelain--long--verbose-v--untracked-files-u--ignore-submodules--ignored-z--column--no-column--ahead-behind--renames--find-renames
git commit
Enregistre les modifications dans l'historique
--message <msg>-m <msg>--all-a--patch-p--interactive--amend--no-edit--no-verify-n--allow-empty--allow-empty-message--cleanup=<mode>--date=<date>--author=<author>--signoff-s--no-signoff--gpg-sign-S--no-gpg-sign--quiet-q--verbose-v--dry-run--status--no-status--include-i--only-o--template=<file>-t <file>--file <file>-F <file>--reedit-message-c--reuse-message-C--reset-author--fixup=<commit>--squash=<commit>
git push
Envoie les commits locaux vers un dépôt distant
--all--branches--tags--follow-tags--dry-run-n--delete-d--mirror--prune--no-verify--force-f--force-with-lease--repo <repository>--set-upstream-u--push-option <string>-o <string>--receive-pack <git-receive-pack>--exec <git-receive-pack>--atomic--no-thin--progress--porcelain--quiet-q--verbose-v
git pull
Récupère les changements distants et les fusionne
--quiet-q--verbose-v--rebase-r--no-rebase--commit--no-commit--edit-e--no-edit--ff--no-ff--ff-only--squash--no-squash--strategy <strategy>-s <strategy>--strategy-option <option>-X <option>--verify-signatures--no-verify-signatures--all--append--upload-pack <path>--progress--depth <depth>--shallow-since <date>--shallow-exclude <revision>--deepen <depth>--unshallow--update-shallow--refmap <refspec>--tags--no-tags--recurse-submodules--jobs <n>-j <n>--set-upstream--dry-run--autostash--no-autostash--allow-unrelated-histories
git fetch
Récupère les objets et références d'un dépôt distant
--all--append-a--depth <depth>--deepen <depth>--shallow-since <date>--shallow-exclude <revision>--unshallow--update-shallow--dry-run--force-f--keep--multiple--no-auto-gc--no-tags-n--no-write-fetch-head--prune-p--prune-tags-P--progress--quiet-q--refmap <refspec>--tags-t--recurse-submodules--jobs <n>-j <n>--set-upstream--upload-pack <path>--verbose-v
git branch
Liste, crée ou supprime des branches
--all-a--remotes-r--list-l--verbose-v-vv--quiet-q--track-t--no-track--set-upstream-to <upstream>-u <upstream>--unset-upstream--contains <commit>--no-contains <commit>--merged <commit>--no-merged <commit>--delete-d--force-D--move-m--copy-c--color--no-color--column--no-column--sort <key>--points-at <object>--format <format>--show-current--edit-description--recurse-submodules
git checkout
Change de branche ou restaure des fichiers
--quiet-q--force-f--ours--theirs--conflict <style>--merge-m--patch-p--no-patch--ignore-other-worktrees--overwrite-ignore--no-overwrite-ignore--recurse-submodules--no-recurse-submodules--progress--no-progress--guess--no-guess--detach--orphan <new_branch>--track-t--no-track--ignore-skip-worktree-bits-b <new_branch>-B <new_branch>--ours--theirs----patch-p
git switch
Change de branche (alternative moderne à checkout)
--create <branch>-c <branch>--force-create <branch>-C <branch>--detach-d--guess--no-guess--force-f--discard-changes--merge-m--conflict <style>--quiet-q--progress--no-progress--track-t--no-track--orphan <new_branch>--ignore-other-worktrees--recurse-submodules--no-recurse-submodules
git merge
Fusionne une branche dans la branche courante
--commit--no-commit--edit-e--no-edit--cleanup <mode>--ff--no-ff--ff-only--log--no-log--signoff--no-signoff--stat-n--no-stat--squash--no-squash--quiet-q--verbose-v--progress--no-progress--verify-signatures--no-verify-signatures--summary--no-summary--strategy <strategy>-s <strategy>--strategy-option <option>-X <option>--abort--continue--quit--allow-unrelated-histories--no-allow-unrelated-histories--rerere-autoupdate--no-rerere-autoupdate--autostash--no-autostash--into-name <branch>
git rebase
Rejoue les commits d'une branche sur une autre
--interactive-i--keep-empty--no-keep-empty--rebase-merges-r--preserve-merges-p--empty <mode>--autosquash--no-autosquash--autostash--no-autostash--committer-date-is-author-date--ignore-date--ignore-whitespace--whitespace <option>--force-rebase-f--no-ff--onto <newbase>--continue--skip--abort--quit--edit-todo--show-current-patch--root--exec <cmd>-x <cmd>--strategy <strategy>-s <strategy>--strategy-option <option>-X <option>--stat-n--no-stat--verify--no-verify--rerere-autoupdate--no-rerere-autoupdate--reschedule-failed-exec--no-reschedule-failed-exec
git stash
Met de côté les modifications non commitées
pushsavelistshowapplypopdropclearbranchcreatestore--patch-p--staged-S--quiet-q--no-keep-index-k--keep-index--include-untracked-u--all-a--message <message>-m <message>--index
git reset
Annule des commits ou des modifications
--soft--mixed--hard--merge--keep--quiet-q--no-refresh--recurse-submodules--no-recurse-submodules--patch-p--intent-to-add-N
git restore
Restaure des fichiers du working tree
--source <tree>-s <tree>--patch-p--worktree-W--staged-S--quiet-q--progress--no-progress--ours--theirs--merge--conflict <style>--ignore-unmerged--ignore-skip-worktree-bits--recurse-submodules--no-recurse-submodules--overlay--no-overlay
git revert
Annule un commit en créant un nouveau commit inverse
--edit-e--no-edit--cleanup <mode>--no-commit-n--signoff-s--no-signoff--strategy <strategy>-s <strategy>--strategy-option <option>-X <option>--mainline <number>-m <number>--rerere-autoupdate--no-rerere-autoupdate--continue--skip--quit--abort
git cherry-pick
Applique un commit spécifique sur la branche courante
--edit-e--no-commit-n--signoff-s--no-signoff--ff--allow-empty--allow-empty-message--keep-redundant-commits--strategy <strategy>-s <strategy>--strategy-option <option>-X <option>--mainline <number>-m <number>--rerere-autoupdate--no-rerere-autoupdate--continue--skip--quit--abort-x
git log
Affiche l'historique des commits
--oneline--graph--all--decorate--no-decorate--patch-p--stat--shortstat--name-only--name-status--abbrev-commit--no-abbrev-commit--relative-date--date <format>--pretty <format>--format <format>--author <pattern>--committer <pattern>--grep <pattern>--all-match--invert-grep-i--regexp-ignore-case--basic-regexp-E--extended-regexp-F--fixed-strings--perl-regexp--remove-empty--merges--no-merges--min-parents <number>--max-parents <number>--no-min-parents--no-max-parents--first-parent--not--all--branches--tags--remotes--glob <pattern>--exclude <pattern>--reflog--single-worktree--since <date>--after <date>--until <date>--before <date>--author <pattern>--committer <pattern>--skip <number>--max-count <number>-<number>--reverse--topo-order--date-order--author-date-order--show-signature--no-show-signature--cherry-mark--cherry-pick--left-only--right-only--cherry--walk-reflogs-g--merge--boundary--simplify-by-decoration--show-pulls--full-history--dense--sparse--simplify-merges--ancestry-path
git diff
Affiche les différences entre commits, branches ou fichiers
--cached--staged--patch-p--no-patch-s--raw--patch-with-raw--numstat--shortstat--dirstat--cumulative--summary--name-only--name-status--stat--compact-summary--binary--abbrev--no-abbrev--full-index--color--no-color--word-diff--word-diff-regex--color-words--no-renames--check--full-diff--relative--ignore-submodules--src-prefix <prefix>--dst-prefix <prefix>--no-prefix--line-prefix <prefix>--output <file>--exit-code--quiet--ext-diff--no-ext-diff--textconv--no-textconv--ignore-space-at-eol--ignore-cr-at-eol--ignore-space-change-b--ignore-all-space-w--ignore-blank-lines--inter-hunk-context <lines>-U <lines>--unified <lines>-W--function-context--minimal--patience--histogram--anchored <text>--diff-algorithm <algorithm>--stat <width>--stat-name-width <width>--stat-graph-width <width>--compact-summary--find-copies--find-copies-harder-C--find-renames-M--dirstat <param>--dirstat-by-file--cumulative--ignore-matching-lines <regex>-I <regex>
git show
Affiche les détails d'un commit ou d'un objet Git
--pretty <format>--format <format>--abbrev-commit--no-abbrev-commit--oneline--patch-p--stat--shortstat--name-only--name-status--raw--word-diff--color--no-color--quiet-q--show-signature
git tag
Gère les tags (versions) du dépôt
--annotate-a--sign-s--local-user <keyid>-u <keyid>--force-f--delete-d--verify-v--list-l--contains <commit>--no-contains <commit>--merged <commit>--no-merged <commit>--points-at <object>--message <msg>-m <msg>--file <file>-F <file>--edit-e--cleanup <mode>--sort <key>--color--no-color--format <format>--column--no-column--ignore-case-i
git remote
Gère les dépôts distants
--verbose-vaddremovermrenameshowprune-p--dry-run-nupdateset-branchesget-urlset-urlset-head
git config
Configure les paramètres Git
--global--system--local--worktree--file <file>-f <file>--blob <blob-id>--list-l--name-only--replace-all--add--get--get-all--get-regexp--get-urlmatch--unset--unset-all--rename-section--remove-section--edit-e--includes--no-includes--default <value>--fixed-value--type <type>-t <type>--bool--int--bool-or-int--path--expiry-date--color--no-color--show-origin-z--null
git rm
Supprime des fichiers du working tree et de l'index
--cached--force-f--dry-run-n--quiet-q--ignore-unmatch--sparse--
git mv
Déplace ou renomme un fichier, un répertoire ou un symlink
--force-f--dry-run-n--verbose-v--
git clean
Supprime les fichiers non suivis du working tree
--dry-run-n--force-f--interactive-i--quiet-q-d--exclude <pattern>-e <pattern>-x-X
git blame
Affiche qui a modifié chaque ligne d'un fichier
--root--show-stats--show-name--show-number--line-porcelain--incremental--contents <file>--reverse--score-debug--show-email-e--abbrev <n>-L <start>,<end>-l--minimal--porcelain--progress
git grep
Recherche un motif dans les fichiers du dépôt
--cached--no-index--untracked--no-exclude-standard--exclude-standard--recurse-submodules-i--ignore-case--invert-match-v-E--extended-regexp-F--fixed-strings-P--perl-regexp--line-number-n--column--color--no-color--break--heading--full-name-w--word-regexp-c--count--files-with-matches-l--files-without-match-L--null-z--only-matching-o-q--quiet----and--or--not--all-match
git reflog
Affiche l'historique des références (HEAD, branches)
--all--single-worktree--date <format>--pretty <format>--relative-date--stale-fix--expire <time>--expire-unreachable <time>--updateref--rewrite--dry-run--verbose-v
git bisect
Recherche le commit qui a introduit un bug par dichotomie
startbadgoodnewoldtermsskipresetvisualizereplaylogrun
git submodule
Gère les sous-modules Git
addstatusinitdeinitupdateset-branchset-urlsummaryforeachsyncabsorbgitdirs--quiet-q--recursive--remote-f--force--checkout--merge--rebase--reference <repository>--depth <depth>--jobs <n>-j <n>
git worktree
Gère plusieurs working trees attachés au même dépôt
addlistlockmovepruneremoverepairunlock--force-f--detach--checkout--no-checkout--lock--track-b <new-branch>-B <new-branch>--expire <time>--verbose-v--dry-run-n
git archive
Crée une archive des fichiers d'un arbre nommé
--format <fmt>--prefix <prefix>--output <file>-o <file>--worktree-attributes--remote <repo>--exec <command>--list-l--verbose-v
git bundle
Déplace des objets et références via une archive
createverifylist-headsunbundle--progress--all-progress--all-progress-implied--version--quiet-q--verbose-v
git gc
Nettoie les fichiers inutiles et optimise le dépôt local
--aggressive--auto--no-prune--prune <date>--quiet-q--force-f--keep-largest-pack
git fsck
Vérifie l'intégrité de la base de données Git
--unreachable--dangling--tags--root--cache--no-reflogs--full--connectivity-only--strict--verbose-v--lost-found--name-objects--progress--no-progress
git prune
Supprime les objets inaccessibles de la base de données
--dry-run-n--verbose-v--progress--expire <time>
git repack
Réorganise les objets dans des packs
-a-A-d-f-F-l-n-q-b--window <n>--depth <n>--threads <n>--max-pack-size <n>--keep-pack <name>--write-bitmap-index--no-write-bitmap-index
git shortlog
Résume la sortie de 'git log'
--numbered-n--summary-s--email-e--format <format>-c--committer-w--
git describe
Donne un nom lisible à un commit basé sur le tag le plus proche
--dirty--broken--all--tags--contains--abbrev <n>--candidates <n>--exact-match--debug--long--match <pattern>--exclude <pattern>--always--first-parent
git rev-parse
Analyse les révisions Git
--parseopt--sq-quote--revs-only--no-revs--flags--no-flags--default <arg>--prefix <arg>--verify--quiet-q--sq--not--abbrev-ref--short--symbolic--symbolic-full-name--all--branches--tags--remotes--glob <pattern>--exclude <pattern>--disambiguate <prefix>--since <date>--after <date>--until <date>--before <date>--show-toplevel--show-superproject-working-tree--show-prefix--git-path <path>--absolute-git-dir--git-common-dir--git-dir--is-bare-repository--is-shallow-repository--is-inside-git-dir--is-inside-work-tree--is-working-tree--show-cdup--local-env-vars
git ls-files
Affiche les informations sur les fichiers dans l'index
--cached-c--deleted-d--modified-m--others-o--ignored-i--stage-s--directory--no-empty-directory--unmerged-u--killed-k--exclude <pattern>-x <pattern>--exclude-from <file>-X <file>--exclude-per-directory <file>--exclude-standard--error-unmatch--with-tree <treeish>--full-name--recurse-submodules--abbrev <n>--format <format>--debug--eol-z--sparse
git ls-remote
Liste les références d'un dépôt distant
--heads-h--tags-t--refs--quiet-q--upload-pack <exec>--exit-code--get-url--sort <key>--symref
git ls-tree
Liste le contenu d'un objet arbre
--long-l--name-only--name-status--object-only--abbrev <n>--full-name--full-tree--recurse-r-t-d--format <format>
git mergetool
Lance un outil de résolution de conflits de merge
--tool <tool>-t <tool>--tool-help--no-prompt-y--prompt--no-gui-g--gui
git difftool
Affiche les différences avec un outil externe
--dir-diff-d--tool <tool>-t <tool>--tool-help--no-prompt-y--prompt--no-gui-g--gui--extcmd <command>--no-index--cached--staged
git range-diff
Compare deux plages de commits
--creation-factor <percent>--no-dual-color--dual-color--left-only--right-only--notes--no-notes
git notes
Ajoute ou inspecte des notes sur les objets
listaddcopyappendeditshowmergeremovepruneget-ref--ref <ref>--force-f--message <msg>-m <msg>--file <file>-F <file>--allow-empty--dry-run-n--verbose-v--stdin--abort--commit-c-C <object>--reuse-message <object>--reedit-message <object>--strategy <strategy>-s <strategy>--strategy-option <option>-X <option>--quiet-q
git replace
Crée, liste, supprime des références de remplacement d'objets
--delete-d--edit-e--graft--convert-graft-file--list-l--format <format>--raw