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.47.1 no changes
- 2.47.0 10/06/24
- 2.46.0 → 2.46.2 no changes
- 2.45.2 no changes
- 2.45.1 04/29/24
- 2.45.0 no changes
- 2.44.2 no changes
- 2.44.1 04/19/24
- 2.44.0 no changes
- 2.43.5 no changes
- 2.43.4 04/19/24
- 2.43.1 → 2.43.3 no changes
- 2.43.0 11/20/23
- 2.42.3 no changes
- 2.42.2 04/19/24
- 2.42.0 → 2.42.1 no changes
- 2.41.2 no changes
- 2.41.1 04/19/24
- 2.41.0 no changes
- 2.40.3 no changes
- 2.40.2 04/19/24
- 2.40.0 → 2.40.1 no changes
- 2.39.5 no changes
- 2.39.4 04/19/24
- 2.39.3 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 no changes
- 2.22.2 → 2.30.0 no changes
- 2.22.1 08/11/19
- 2.22.0 06/07/19
- 2.21.1 → 2.21.4 no changes
- 2.21.0 02/24/19
- 2.19.1 → 2.20.5 no changes
- 2.19.0 09/10/18
- 2.11.4 → 2.18.5 no changes
- 2.10.5 09/22/17
- 2.9.5 07/30/17
- 2.7.6 → 2.8.6 no changes
- 2.6.7 05/05/17
- 2.1.4 → 2.5.6 no changes
- 2.0.5 12/17/14
RESUMO
git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs] [--[no-]full] [--strict] [--verbose] [--lost-found] [--[no-]dangling] [--[no-]progress] [--connectivity-only] [--[no-]name-objects] [<objeto>…]
OPÇÕES
- <objeto>
-
Um objeto a ser tratado como a cabeça de um rastreamento de inacessibilidade.
Caso nenhum objeto seja informado, a predefinição do comando git fsck retorna para o arquivo do índice, todas as referências SHA-1 no espaço de nomes
refs
e todos os reflogs (a menos que a opção--no-reflogs
seja utilizada) serão utilizados como cabeçalhos. - --unreachable
-
Imprima os objetos que existam, porém que não sejam acessíveis a partir de nenhum dos nós de referência.
- --[no-]dangling
-
Imprima os objetos que já existem, mas que nunca são usados "diretamente" (padrão). A opção
--no-dangling
pode ser usada para omitir essas informações da saída. - --root
-
Relatar os nós raiz.
- --tags
-
Tags de relatório.
- --cache
-
Considere qualquer objeto registrado no índice também como um nó principal para um rastreamento de inacessibilidade.
- --no-reflogs
-
Não considere que os commits referenciados apenas por uma entrada num "reflog" sejam acessíveis. Essa opção destina-se apenas à busca de commits que costumavam estar numa referência, mas agora não estão mais, mas ainda estão no "reflog" correspondente.
- --full
-
Verifique não apenas os objetos em GIT_OBJECT_DIRECTORY (
$GIT_DIR/objects
), mas também aqueles encontrados em pools de objetos alternativos listados emGIT_ALTERNATE_OBJECT_DIRECTORIES
ou$GIT_DIR/objects/info/alternates
, e nos arquivos Git empacotados encontrados em$GIT_DIR/objects/pack
e nos subdiretórios dos pacotes correspondentes na fila de objetos alternativos. Esta é a predefinição atual; você pode desativá-lo com a opção--no-full
. - --connectivity-only
-
Verifique apenas a conectividade dos objetos acessíveis, certificando-se de que todos os objetos referenciados por uma tag, commit ou árvore acessível estejam presentes. Isso acelera a operação evitando a leitura completa das bolhas (embora ainda verifique caso existam as bolhas referenciadas). Isso detectará a corrupção nos commits e nas árvores, porém não fará nenhuma verificação semântica (por exemplo, erros no formato). A corrupção nos objetos bolha não será detectada de forma alguma.
Tags, confirmações e árvores inacessíveis também serão acessadas para encontrar o topo dos segmentos pendentes na história. Use a opção
--no-dangling
caso não se importe com esta saída e queira acelerar um pouco as coisas ainda mais. - --strict
-
Habilite uma verificação mais rigorosa, ou seja, para capturar um modo de arquivo registrado com o bit g+w definido, que foi criado por versões mais antigas do Git. Os repositórios existentes, incluindo o kernel do Linux, o próprio Git e o repositório esparso, têm objetos antigos que acionam essa verificação, mas é recomendável verificar novos projetos com esta opção.
- --verbose
-
Seja tagarela.
- --lost-found
-
Escreva os objetos pendentes em
.git/lost-found/commit/
ou.git/lost-found/other/
, dependendo do tipo. Se o objeto for uma bolha, o conteúdo será gravado no arquivo, em vez do nome do seu objeto. - --name-objects
-
Ao exibir nomes de objetos acessíveis, além do SHA-1, exiba também um nome que descreva como eles são acessíveis, compatível com git-rev-parse[1], por exemplo,
HEAD@{1234567890}~25^2:src/
. - --[no-]progress
-
A condição do progresso é relatado no fluxo de erro predefinido ao estar conectado num terminal, a menos que as opções
--no-progress
ou--verbose
sejam utilizados. A opção--progress
impõem que a condição do progresso seja exibida mesmo que o fluxo de erro predefinido não esteja direcionado para um terminal.
CONFIGURAÇÃO
Warning
|
Missing See original version for this content. |
Warning
|
Missing See original version for this content. |
DISCUSSÃO
O git-fsck testa se o SHA-1 e a sanidade geral dos objetos, faz o rastreamento completo da acessibilidade resultante e todo o resto. Imprime qualquer corrupção encontrada (objetos ausentes ou incorretos) , se utilizar a opção --unreachable
, também serão impressos os objetos que existem mas que não estão acessíveis a partir de nenhum dos nós principais (ou da predefinição mencionada acima).
Você precisará encontrar quaisquer outros objetos corrompidos nos backups ou em outros arquivos (ou seja, remova-os e faça um rsync com outro site na esperança de que outra pessoa tenha uma cópia do objeto que você corrompeu).
Caso core.commitGraph seja verdadeiro, o arquivo commit-graph também será inspecionado utilizando git commit-graph verify. See git-commit-graph[1].
Diagnósticos Extraídos
- unreachable <tipo> <objeto>
-
O objeto <tipo> <objeto>, na verdade, não tem referência direta ou indireta com nenhuma das árvores ou commits já vistos. Significa que há um outro nó na raiz que você ainda não está informando ou que a árvore está corrompida. Caso você ainda não tenha perdido um nó na raiz, também possa excluir os nós que estejam inacessíveis, pois eles não possam ser utilizados.
- missing <tipo> <objeto>
-
O objeto <tipo> <objeto>, tem referência mas não está presente no banco de dados.
- dangling <tipo> <objeto>
-
O <tipo> do objeto <objeto> está presente no banco de dados, mas nunca é utilizado diretamente. A dangling commit could be a root node.
- hash mismatch <objeto>
-
O banco de dados tem um objeto cujo hash não corresponde ao valor do banco de dados do objeto. Isso indica um sério problema de integridade de dados.
MENSAGENS FSCK
A seguir, listamos os tipos de erros que o comando git fsck
detecta e o que cada erro significa, com a sua devida gravidade. A gravidade do erro, com exceção daqueles marcados como "(FATAL)", pode ser ajustada definindo a variável de configuração fsck.<msg-id>
correspondente.
Warning
|
Missing See original version for this content. |
As Variáveis do Ambiente
- GIT_OBJECT_DIRECTORY
-
utilize para especificar a raiz do banco de dados do objeto (geralmente $GIT_DIR/objects)
- GIT_INDEX_FILE
-
utilizado para determinar o arquivo de índice do índice
- GIT_ALTERNATE_OBJECT_DIRECTORIES
-
utilizado para determinar as raízes adicionais do banco de dados dos objetos (geralmente não definidos)
GIT
Parte do conjunto git[1]