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.43.0 11/20/23
- 2.39.3 → 2.42.1 no changes
- 2.39.2 02/06/23
- 2.39.1 no changes
- 2.39.0 12/12/22
- 2.38.1 → 2.38.5 no changes
- 2.38.0 10/02/22
- 2.35.1 → 2.37.7 no changes
- 2.35.0 01/24/22
- 2.30.2 → 2.34.8 no changes
- 2.30.1 02/08/21
SYNOPSIS
git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs] [--[no-]full] [--strict] [--verbose] [--lost-found] [--[no-]dangling] [--[no-]progress] [--connectivity-only] [--[no-]name-objects] [<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
refs
et 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.
- --[no-]dangling
-
Affiche les objets qui existent mais qui ne sont jamais directement utilisés (par défaut).
--no-dangling
peut ê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-dangling
si 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/
. - --[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é. --no-progress force l’état d’avancement même si le flux d’erreur standard n’est pas dirigé vers un terminal.
CONFIGURATION
Warning
|
Missing See original version for this content. |
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.
Warning
|
Missing See original version for this content. |
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/objets)
- 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 .