Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
-
2.52.0
2025-11-17
- 2.50.1 → 2.51.2 no changes
-
2.50.0
2025-06-16
- 2.48.1 → 2.49.1 no changes
-
2.48.0
2025-01-10
- 2.47.1 → 2.47.3 no changes
-
2.47.0
2024-10-06
- 2.45.3 → 2.46.4 no changes
- 2.45.2 no changes
-
2.45.1
2024-04-29
- 2.44.3 → 2.45.0 no changes
- 2.44.2 no changes
-
2.44.1
2024-04-19
- 2.43.6 → 2.44.0 no changes
- 2.43.5 no changes
-
2.43.4
2024-04-19
- 2.43.1 → 2.43.3 no changes
-
2.43.0
2023-11-20
- 2.42.4 no changes
- 2.42.3 no changes
-
2.42.2
2024-04-19
- 2.41.3 → 2.42.1 no changes
- 2.41.2 no changes
-
2.41.1
2024-04-19
- 2.40.4 → 2.41.0 no changes
- 2.40.3 no changes
-
2.40.2
2024-04-19
- 2.40.0 → 2.40.1 no changes
- 2.39.5 no changes
-
2.39.4
2024-04-19
- 2.39.3 no changes
-
2.39.2
2023-02-06
- 2.39.1 no changes
-
2.39.0
2022-12-12
- 2.38.1 → 2.38.5 no changes
-
2.38.0
2022-10-02
- 2.35.1 → 2.37.7 no changes
-
2.35.0
2022-01-24
- 2.30.2 → 2.34.8 no changes
- 2.30.1 no changes
- 2.22.2 → 2.30.0 no changes
-
2.22.1
2019-08-11
-
2.22.0
2019-06-07
- 2.21.1 → 2.21.4 no changes
-
2.21.0
2019-02-24
- 2.19.1 → 2.20.5 no changes
-
2.19.0
2018-09-10
- 2.11.4 → 2.18.5 no changes
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
- 2.7.6 → 2.8.6 no changes
-
2.6.7
2017-05-05
- 2.1.4 → 2.5.6 no changes
-
2.0.5
2014-12-17
SYNOPSIS
git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs] [--[no-]full] [--strict] [--verbose] [--lost-found] [--[no-]dangling] [--[no-]progress] [--connectivity-only] [--[no-]name-objects] [--[no-]references] [<objet>…]
OPTIONS
- <objet>
-
Un objet à traiter comme la tête d’une trace d’inaccessibilité.
Si aucun objet n’est donné, git fsck utilise par défaut le fichier d’index, toutes les références SHA-1 dans l’espace de noms
refset tous les reflogs (sauf si --no-reflogs est donné) comme têtes. - --unreachable
-
Affiche les objets qui existent mais qui ne sont pas accessibles à partir de l’un des noeuds de référence.
- --dangling
- --no-dangling
-
Affiche les objets qui existent mais qui ne sont jamais directement utilisés (par défaut).
--no-danglingpeut être utilisé pour omettre cette information de la sortie. - --root
-
Signaler les nœuds racines.
- --tags
-
Afficher les étiquettes.
- --cache
-
Considérer aussi un objet enregistré dans l’index comme la tête d’une trace d’inaccessibilité.
- --no-reflogs
-
Ne pas considérer comme atteignables les commits qui ne sont référencés que par une entrée dans un reflog. Cette option n’est destinée qu’à rechercher les commits qui étaient dans une ref, mais qui ne le sont plus, mais qui sont toujours dans le reflog correspondant.
- --full
-
Vérifie non seulement les objets dans GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), mais aussi ceux trouvés dans les bassins d’objets alternatifs listés dans GIT_ALTERNATE_OBJECT_DIRECTORIES ou $GIT_DIR/objects/info/alternates, et dans les archives Git empaquetées trouvées dans $GIT_DIR/objects/pack et les sous-répertoires correspondants dans les bassins d’objets alternatifs. Ceci est maintenant la valeur par défaut ; vous pouvez la désactiver avec --no-full.
- --connectivity-only
-
Vérifie uniquement la connectivité des objets accessibles, en s’assurant que tous les objets référencés par une étiquette, un commit ou un arbre accessible sont présents. Cela accélère l’opération en évitant de lire entièrement les blobs (bien qu’il soit toujours vérifié que les blobs référencés existent). Cela détectera la corruption dans les commits et les arbres, mais ne fera aucune vérification sémantique (par exemple, pour les erreurs de format). La corruption dans les objets blob ne sera pas du tout détectée.
Les tags, commits et arbres inaccessibles seront également accédés pour trouver les bouts de segments d’histoire qui pendent. Utilisez
--no-danglingsi vous ne vous souciez pas de cette sortie et que vous voulez l’accélérer davantage. - --strict
-
Active une vérification plus stricte, notamment pour attraper un mode de fichier enregistré avec le bit g+w activé, qui a été créé par des versions plus anciennes de Git. Les dépôts existants, y compris le noyau Linux, Git lui-même, et le dépôt sparse ont des objets anciens qui déclenchent cette vérification, mais il est recommandé de vérifier les nouveaux projets avec ce drapeau.
- --verbose
-
Mode bavard.
- --lost-found
-
Écrit les objets en suspens dans .git/lost-found/commit/ ou .git/lost-found/other/, selon le type. Si l’objet est un blob, son contenu est écrit dans le fichier, plutôt que son nom d’objet.
- --name-objects
-
Lors de l’affichage des noms des objets atteignables, en plus du SHA-1, afficher également un nom qui décrit comment ils sont atteignables, compatible avec git-rev-parse[1], par exemple
HEAD@{1234567890}~25^2:src/. - --progress
- --no-progress
-
L’état d’avancement est affiché sur la sortie d’erreur standard quand elle est attachée à un terminal, à moins que --no-progress ou --verbose soit spécifié. --progress force l’état d’avancement même si le flux d’erreur standard n’est pas dirigé vers un terminal.
- --references
- --no-references
-
Contrôler s’il faut vérifier la cohérence de la base de références via git refs verify. Voir git-refs[1] pour plus de détails. Le comportement par défaut est de vérifier la base de données de références.
CONFIGURATION
Tout ce qui se trouve en dessous de cette ligne dans cette section est inclus de manière sélective à partir de la documentation git-config[1]. Le contenu est le même que celui qui s’y trouve :
|
Warning
|
Missing See original version for this content. |
DISCUSSION
git-fsck teste le SHA-1 et l’intégrité générale des objets, et il fait un suivi complet de l’accessibilité et de tout le reste. Il affiche toute corruption qu’il trouve (objets manquants ou mauvais), et si vous utilisez le drapeau --unreachable, il affichera également les objets qui existent mais qui ne sont pas atteignables depuis l’un des noeuds de tête spécifiés (ou le jeu par défaut, comme mentionné ci-dessus).
Tous les objets corrompus que vous devrez trouver dans les sauvegardes ou autres archives (c’est-à-dire que vous pouvez simplement les supprimer et faire une « rsync » avec un autre site dans l’espoir que quelqu’un d’autre a l’objet corrompu que vous avez).
Si core.commitGraph est vrai, le fichier commit-graph sera également inspecté en utilisant git commit-graph verify. Voir git-commit-graph[1].
Diagnostics extraits
- inaccessible <type> <objet>
-
L’objet<objet> de type <type> n’est pas réellement référencé directement ou indirectement dans aucun des arbres ou commits vus. Cela peut signifier qu’il y a un autre nœud racine que vous ne spécifiez pas ou que l’arbre est corrompu. Si vous n’avez pas manqué un nœud racine, alors vous pourriez aussi bien supprimer les nœuds inaccessibles puisqu’ils ne peuvent pas être utilisés.
- <type> <objet> manquant
-
L’objet <type> <object> est référencé mais n’est pas présent dans la base de données.
- <type> <objet> en suspens
-
L’objet <type> <objet>, est présent dans la base de données mais n’est jamais utilisé directement. Un commit en suspens peut être un nœud racine.
- Le hachage ne correspond pas à <objet>
-
La base de données possède un objet dont le hachage ne correspond pas à la valeur de la base de données d’objets. Cela indique un grave problème d’intégrité des données.
MESSAGES FSCK
La liste suivante énumère les types d’erreurs que git fsck détecte et ce que chaque erreur signifie, avec leur sévérité par défaut. La gravité de l’erreur, autre que celles qui sont marquées comme "(FATAL)", peut être modifiée en définissant la variable de configuration fsck.<id-msg> correspondante.
-
badDate -
(ERREUR) Format de date invalide dans une ligne auteur/validateur.
-
badDateOverflow -
(ERREUR) Valeur de date invalide dans une ligne auteur/validateur.
-
badEmail -
(ERREUR) Format de courriel invalide dans une ligne auteur/validateur.
-
badFilemode -
(INFO) Un arbre contient une mauvaise entrée de mode de fichier.
-
badGpgsig -
(ERREUR) Une étiquette contient un mauvais entête (tronqué) de signature (par exemple,
gpgsig). -
badHeaderContinuation -
(ERREUR) Un en-tête continu (comme pour
gpgsig) est inopinément tronqué. -
badName -
(ERREUR) Un nom d’auteur ou de validateur est vide.
-
badObjectSha1 -
(ERREUR) Un objet a un mauvais sha1.
-
badPackedRefEntry -
(ERREUR) Le fichier "packed-refs" contient une entrée invalide.
-
badPackedRefHeader -
(ERREUR) Le fichier "packed-refs" contient un en-tête invalide.
-
badParentSha1 -
(ERREUR) Un objet de commit a un mauvais parent sha1.
-
badRefContent -
(ERREUR) Une ref a un mauvais contenu.
-
badRefFiletype -
(ERREUR) Une ref a un mauvais type de fichier.
-
badRefName -
(ERREUR) Une réf a un format invalide.
-
badReferentName -
(ERREUR) Le nom référent d’un symref est invalide.
-
badReftableTableName -
(AVERTISSEMENT) Une table réftable a un nom invalide.
-
badTagName -
(INFO) Une étiquette a un format invalide.
-
badTimezone -
(ERREUR) Fuseau horaire invalide trouvé dans une ligne auteur/validateur.
-
badTree -
(ERREUR) Un arbre ne peut pas être analysé.
-
badTreeSha1 -
(ERREUR) Un arbre a un format invalide.
-
badType -
(ERROR) Type d’objet invalide trouvé.
-
duplicateEntries -
(ERREUR) Un arbre contient des entrées de fichiers en double.
-
emptyName -
(ATTENTION) Un chemin contient un nom vide.
-
emptyPackedRefsFile -
(INFO) fichier "packed-refs" vide. Reportez cet incident à la liste de diffusion git@vger.kernel.org si vous voyez cette erreur. Comme seules les versions très jeunes de Git créeraient un tel fichier "packed_refs" vide, nous pourrions renforcer cette règle à l’avenir.
-
extraHeaderEntry -
(IGNORE) Des en-têtes supplémentaires ont été trouvés après
tagger. -
fullPathname -
(ATTENTION) Un chemin contient le chemin complet commençant par "/".
-
gitattributesBlob -
(ERREUR) Un non-blob trouvé à
.gitattributes. -
gitattributesLarge -
(ERREUR) Le blob
.gitattributesest trop grand. -
gitattributesLineLength -
(ERREUR) Le blob
.gitattributescontient des lignes trop longues. -
gitattributesMissing -
(ERREUR) Impossible de lire le blob
.gitattributes. -
gitattributesSymlink -
(INFO)
.gitattributesest un symlink. -
gitignoreSymlink -
(INFO)
.gitignoreest un symlink. -
gitmodulesBlob -
(ERREUR) Un non-blob trouvé à
.gitmodules. -
gitmodulesLarge -
(ERREUR) Le fichier
.gitmodulesest trop grand à analyser. -
gitmodulesMissing -
(ERREUR) Incapable de lire le blob
.gitmodules. -
gitmodulesName -
(ERREUR) Un nom de sous-module est invalide.
-
gitmodulesParse -
(INFO) Impossible d’analyser le blob
.gitmodules. -
gitmodulesPath -
(ERREUR) Le chemin de
.gitmodulesest invalide. -
gitmodulesSymlink -
(ERREUR)
.gitmodulesest un symlink. -
gitmodulesUpdate -
(ERREUR) Paramètre de mise à jour de sous-module invalide trouvé.
-
gitmodulesUrl -
(ERREUR) une URL de sous-module invalide trouvée.
-
hasDot -
(ATTENTION) Un arbre contient une entrée nommée
.. -
hasDotdot -
(ATTENTION) Un arbre contient une entrée nommée
... -
hasDotgit -
(ATTENTION) Un arbre contient une entrée nommée
.git. -
largePathname -
(ATTENTION) Un arbre contient une entrée avec un nom très long. Si la valeur de `fsck.largePathname ` contient un caractère deux-points, cette valeur est utilisée comme la longueur maximale admissible (par exemple, "warn:10" se plaindrait de tout composant de chemin de 11 octets ou plus). La valeur par défaut est 4096.
-
mailmapSymlink -
(INFO)
.mailmapest un symlink. -
missingAuthor -
(ERREUR) L’auteur est manquant.
-
missingCommitter -
(ERREUR) Le validateur est manquant.
-
missingEmail -
(ERREUR) Le courriel manque dans une ligne auteur/validateur.
-
missingNameBeforeEmail -
(ERREUR) Nom manquant avant un courriel dans une ligne auteur/validateur.
-
missingObject -
(ERREUR) ligne
objectdans un objet étiquette manquante. -
missingSpaceBeforeDate -
(ERREUR) Espace manquant avant la date dans une ligne auteur/validateur.
-
missingSpaceBeforeEmail -
(ERREUR) Espace manquant avant le courriel dans une ligne auteur/validateur.
-
missingTag -
(ERREUR) Fin inattendue après la ligne
typedans un objet étiquette. -
missingTagEntry -
(ERREUR) ligne
tagdans un objet étiquette manquante. -
missingTaggerEntry -
(INFO) Ligne
taggermanquante dans un objet étiquette. -
missingTree -
(ERREUR) Ligne`tree` manquante dans un objet commit.
-
missingType -
(ERREUR) valeur de type invalide sur la ligne
typede l’objet étiquette. -
missingTypeEntry -
(ERREUR) Ligne
typemanquante dans un objet étiquette. -
multipleAuthors -
(ERREUR) Plusieurs lignes d’auteur trouvées dans un commit.
-
nulInCommit -
(WARN) Trouvé un octet NUL dans le corps de l’objet commit.
-
nulInHeader -
(FATAL) Le octet NUL apparaît dans l’en-tête de l’objet.
-
nullSha1 -
(WARN) L’arbre contient des entrées pointant vers un sha1 nul.
-
packedRefEntryNotTerminated -
(ERREUR) Le fichier "packed-refs" contient une entrée qui ne finit pas par une nouvelle ligne.
-
packedRefUnsorted -
(ERREUR) Le fichier "packed-refs" n’est pas trié.
-
refMissingNewline -
(INFO) Une réf qui ne se termine pas avec une nouvelle ligne (LF). Comme les implémentations valides de Git n’ont jamais créé un tel fichier de réf esseulé, ceci peut devenir une erreur à l’avenir. Reportez-vous à la liste de diffusion git@vger.kernel.org si vous voyez cette erreur, car nous avons besoin de savoir quels outils ont créé un tel fichier.
-
symlinkRef -
(INFO) Un lien symbolique est utilisé comme symref. Reportez-vous à la liste de diffusion git@vger.kernel.org si vous voyez cette erreur, car nous évaluons la faisabilité de laisser tomber la prise en charge des liens symboliques comme symrefs.
-
symrefTargetIsNotARef -
(INFO) La cible d’une référence symbolique ne pointe ni sur une référence racine ni sur une référence commençant par "refs/". Bien que nous permettions de créer une symref pointant vers le référent qui est à l’extérieur du "ref" en utilisant
gitsymbolic-ref, nous pourrions durcir cette règle à l’avenir. Reportez-vous à la liste de diffusion git@vger.kernel.org si vous voyez cette erreur, car nous avons besoin de savoir quels outils ont créé un tel fichier. -
trailingRefContent -
(INFO) Une réf libre a du contenu additionnel . Comme les implémentations valides de Git n’ont jamais créé un tel fichier de réf esseulé, ceci peut devenir une erreur à l’avenir. Reportez-vous à la liste de diffusion git@vger.kernel.org si vous voyez cette erreur, car nous avons besoin de savoir quels outils ont créé un tel fichier.
-
treeNotSorted -
(ERREUR) Un arbre n’est pas correctement trié.
-
unknownType -
(ERREUR) Type d’objet inconnu trouvé.
-
unterminatedHeader -
(FATAL) Fin de ligne manquante dans l’en-tête d’objet.
-
zeroPaddedDate -
(ERREUR) Une date avec remplissage de zéros a été trouvée dans une ligne auteur/validateur.
-
zeroPaddedFilemode -
(AVERTISSEMENT) Un mode de fichier avec remplissage de zéros a été trouvé dans un arbre.
Variables d’environnement
- GIT_OBJECT_DIRECTORY
-
utilisé pour spécifier le répertoire racine de la base de données des objets (habituellement $GIT_DIR/objects)
- GIT_INDEX_FILE
-
utilisé pour spécifier le fichier d’index de l’index
- GIT_ALTERNATE_OBJECT_DIRECTORIES
-
utilisé pour spécifier des répertoires racines supplémentaires de la base de données des objets (généralement non défini)
GIT
Fait partie de la suite git[1]
TRADUCTION
Cette page de manuel a été traduite par Jean-Noël Avila <jn.avila AT free DOT fr> et les membres du projet git-manpages-l10n. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le site https://github.com/jnavila/git-manpages-l10n .