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.50.1 → 2.51.0 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
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é. --progress force l’état d’avancement même si le flux d’erreur standard n’est pas dirigé vers un terminal.
- --[no-]references
-
Control whether to check the references database consistency via git refs verify. See git-refs[1] for details. The default is to check the references database.
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.
-
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.
-
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
.gitattributes
est trop grand. -
gitattributesLineLength
-
(ERREUR) Le blob
.gitattributes
contient des lignes trop longues. -
gitattributesMissing
-
(ERREUR) Impossible de lire le blob
.gitattributes
. -
gitattributesSymlink
-
(INFO)
.gitattributes
est un symlink. -
gitignoreSymlink
-
(INFO)
.gitignore
est un symlink. -
gitmodulesBlob
-
(ERREUR) Un non-blob trouvé à
.gitmodules
. -
gitmodulesLarge
-
(ERREUR) Le fichier
.gitmodules
est 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
.
gitmodulesLarge
;
(ERREUR) le blob de .gitmodules
est trop grand pour l’analyse.
-
gitmodulesPath
-
(ERREUR) Le chemin de
.gitmodules
est invalide. -
gitmodulesSymlink
-
(ERREUR)
.gitmodules
est 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)
.mailmap
est 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
object
dans 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
type
dans un objet étiquette. -
missingTagEntry
-
(ERREUR) ligne
tag
dans un objet étiquette manquante. -
missingTaggerEntry
-
(INFO) Missing
tagger
line in a tag object. -
missingTree
-
(ERROR) Missing
tree
line in a commit object. -
missingType
-
(ERROR) Invalid type value on the
type
line in a tag object. -
missingTypeEntry
-
(ERROR) Missing
type
line in a tag object. -
multipleAuthors
-
(ERROR) Multiple author lines found in a commit.
-
nulInCommit
-
(WARN) Found a NUL byte in the commit object body.
-
nulInHeader
-
(FATAL) NUL byte exists in the object header.
-
nullSha1
-
(WARN) Tree contains entries pointing to a null sha1.
-
packedRefEntryNotTerminated
-
(ERROR) The "packed-refs" file contains an entry that is not terminated by a newline.
-
packedRefUnsorted
-
(ERROR) The "packed-refs" file is not sorted.
-
refMissingNewline
-
(INFO) A loose ref that does not end with newline(LF). As valid implementations of Git never created such a loose ref file, it may become an error in the future. Report to the git@vger.kernel.org mailing list if you see this error, as we need to know what tools created such a file.
-
symlinkRef
-
(INFO) A symbolic link is used as a symref. Report to the git@vger.kernel.org mailing list if you see this error, as we are assessing the feasibility of dropping the support to drop creating symbolic links as symrefs.
-
symrefTargetIsNotARef
-
(INFO) The target of a symbolic reference points neither to a root reference nor to a reference starting with "refs/". Although we allow create a symref pointing to the referent which is outside the "ref" by using
git
symbolic-ref
, we may tighten the rule in the future. Report to the git@vger.kernel.org mailing list if you see this error, as we need to know what tools created such a file. -
trailingRefContent
-
(INFO) A loose ref has trailing content. As valid implementations of Git never created such a loose ref file, it may become an error in the future. Report to the git@vger.kernel.org mailing list if you see this error, as we need to know what tools created such a file.
-
treeNotSorted
-
(ERROR) A tree is not properly sorted.
-
unknownType
-
(ERROR) Found an unknown object type.
-
unterminatedHeader
-
(FATAL) Missing end-of-line in the object header.
-
zeroPaddedDate
-
(ERROR) Found a zero padded date in an author/committer line.
-
zeroPaddedFilemode
-
(WARN) Found a zero padded filemode in a tree.
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 .