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.54.0 no changes
-
2.53.0
2026-02-02
-
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
СИНОПСИС
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] [<object>…]
ОПЦІЇ
- <object>
-
Обʼєкт, який слід розглядати як початок трасування недосяжності.
Якщо обʼєктів не вказано, git fsck зазвичай використовує індексний файл, усі посилання SHA-1 у просторі імен
refsта всі reflogs (якщо не вказано --no-reflogs) як заголовки. - --unreachable
-
Вивести обʼєкти, які існують, але до яких неможливо дістатися з жодного з вузлів-посилань.
- --dangling
- --no-dangling
-
Вивести обʼєкти, які існують, але ніколи не використовуються «безпосередньо» (стандартно).
--no-danglingможна використовувати, щоб прибрати цю інформацію з виводу. - --root
-
Звіт про кореневі вузли.
- --tags
-
Звіт про теги.
- --cache
-
Вважати будь-який об’єкт, занесений до індексу, також головним вузлом для трасування недосяжності.
- --no-reflogs
-
Не вважайте доступними ті коміти, на які посилається лише запис у журналі reflog. Ця опція призначена виключно для пошуку комітів, які раніше були в ref, але зараз там відсутні, проте все ще знаходяться у відповідному журналі reflog.
- --full
-
Перевіряти не лише об’єкти в GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), а й ті, що містяться в альтернативних пулах об’єктів, перелічених у GIT_ALTERNATE_OBJECT_DIRECTORIES або $GIT_DIR/objects/info/alternates, а також в упакованих архівах Git, що знаходяться в $GIT_DIR/objects/pack та відповідних субтеках pack в альтернативних пулах об’єктів. Зараз це є стандартним параметром; ви можете вимкнути його за допомогою --no-full.
- --connectivity-only
-
Перевіряти лише зв’язність доступних об’єктів, переконуючись, що всі об’єкти, на які посилаються доступні теги, коміти або дерева, присутні. Це прискорює операцію, повністю уникаючи читання блобів (хоча все одно перевіряється наявність блобів, на які є посилання). Це дозволить виявити пошкодження в комітах і деревах, але не проводитиме жодних семантичних перевірок (наприклад, на наявність помилок форматування). Пошкодження в об’єктах-блобах не виявлятимуться взагалі.
Також буде здійснюватися доступ до недоступних тегів, комітів та дерев, щоб знайти вершини «висячих» сегментів історії. Використовуйте опцію
--no-dangling, якщо вас не цікавить цей вивід і ви хочете ще більше пришвидшити процес. - --strict
-
Увімкнути більш сувору перевірку, а саме виявляти файли, режим доступу до яких записано з встановленим бітом g+w, що було характерно для старих версій Git. Наявні репозиторії, зокрема ядро Linux, сам Git та репозиторій sparse, містять старі об’єкти, які викликають цю перевірку, але рекомендується перевіряти нові проєкти з цим прапорцем.
- --verbose
-
Увімкнути докладний вивід.
- --lost-found
-
Записувати «висячі» об’єкти в теки .git/lost-found/commit/ або .git/lost-found/other/ залежно від їхнього типу. Якщо об’єкт є блобом, у файл записується його вміст, а не ім’я об’єкта.
- --name-objects
-
Під час показу імен досяжних обʼєктів, окрім SHA-1, також виводити імʼя, яке описує, як вони досяжні, сумісно з git-rev-parse[1], наприклад,
HEAD@{1234567890}~25^2:src/. - --progress
- --no-progress
-
Як правило, інформація про хід виконання виводиться у стандартний потік помилок, якщо він підключений до терміналу, за винятком випадків, коли вказано параметри --no-progress або --verbose. Параметр --progress примусово вмикає виведення інформації про хід виконання, навіть якщо стандартний потік помилок не спрямований у термінал.
- --references
- --no-references
-
Встановіть, чи слід перевіряти цілісність бази даних посилань за допомогою команди “git refs verify”. Детальніше див. git-refs[1]. Стандартним є перевірка бази даних посилань.
КОНФІГУРАЦІЯ
Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:
|
Warning
|
Missing See original version for this content. |
ОБГОВОРЕННЯ
git-fsck перевіряє цілісність SHA-1 та загальну цілісність об’єктів, а також здійснює повне відстеження доступності та всіх інших параметрів. Програма виводить на екран усі виявлені пошкодження (відсутні або пошкоджені об’єкти), а при використанні прапорця --unreachable вона також виведе об’єкти, які існують, але недоступні з жодного із вказаних головних вузлів (або з базового набору, як зазначено вище).
Будь-які пошкоджені обʼєкти, які вам доведеться знайти в резервних копіях або інших архівах (тобто ви можете просто видалити їх та виконати rsync з якимось іншим сайтом у надії, що хтось інший має пошкоджений вами обʼєкт).
Якщо core.commitGraph має значення true, файл commit-graph також буде перевірено за допомогою git commit-graph verify. Див. git-commit-graph[1].
Отримана діагностика
- unreachable <type> <object>
-
На обʼєкт <type> <object> фактично немає жодних прямих чи непрямих посилань у жодному з перелічених дерев або комітів. Це може означати, що існує інший кореневий вузол, який ви не вказали, або що дерево пошкоджене. Якщо ви не пропустили кореневий вузол, то можете видалити недоступні вузли, оскільки вони не можуть бути використані.
- missing <type> <object>
-
На обʼєкт <type> <object> є посилання, але він відсутній у базі даних.
- dangling <type> <object>
-
Обʼєкт <type> <object> присутній у базі даних, але ніколи не використовується «безпосередньо». Висячий коміт може бути кореневим вузлом.
- hash mismatch <object>
-
База даних містить обʼєкт, хеш якого не відповідає значенню обʼєкта бази даних. Це вказує на серйозну проблему цілісності даних.
ПОВІДОМЛЕННЯ FSCK
Нижче наведено перелік типів помилок, які виявляє git fsck, їхнє значення та рівень їхньої серйозності. Рівень серйозності помилок, за винятком тих, що позначені як «(FATAL)», можна налаштувати, встановивши відповідну змінну конфігурації fsck.<msg-id>.
-
badDate -
(ПОМИЛКА) Недійсний формат дати в рядку автора/комітера.
-
badDateOverflow -
(ПОМИЛКА) Недійсне значення дати в рядку автора/комітера.
-
badEmail -
(ПОМИЛКА) Недійсний формат електронної пошти в рядку автора/комітера.
-
badFilemode -
(ІНФОРМАЦІЯ) Дерево містить недійсний запис файлового режиму.
-
badGpgsig -
(ПОМИЛКА) Тег містить невірний (усічений) заголовок сигнатури (наприклад,
gpgsig). -
badHeaderContinuation -
(ПОМИЛКА) Заголовок продовження (наприклад, для
gpgsig) неочікувано скорочений. -
badName -
(ПОМИЛКА) Імʼя автора/комітера порожнє.
-
badObjectSha1 -
(ПОМИЛКА) Обʼєкт має неправильний sha1.
-
badPackedRefEntry -
(ПОМИЛКА) Файл "packed-refs" містить недійсний запис.
-
badPackedRefHeader -
(ПОМИЛКА) Файл "packed-refs" містить недійсний заголовок.
-
badParentSha1 -
(ПОМИЛКА) Обʼєкт commit має невірний батьківський sha1.
-
badRefContent -
(ПОМИЛКА) Посилання має некоректний вміст.
-
badRefFiletype -
(ПОМИЛКА) Посилання має невірний тип файлу.
-
badRefName -
(ПОМИЛКА) Посилання має недійсний формат.
-
badReferentName -
(ПОМИЛКА) Імʼя референта symref недійсне.
-
badReftableTableName -
(ПОПЕРЕДЖЕННЯ) Таблиця, що підлягає переформуванню, має недійсне імʼя.
-
badTagName -
(ІНФОРМАЦІЯ) Тег має недійсний формат.
-
badTimezone -
(ПОМИЛКА) Знайдено недійсний часовий пояс у рядку автора/комітера.
-
badTree -
(ПОМИЛКА) Неможливо проаналізувати дерево.
-
badTreeSha1 -
(ПОМИЛКА) Дерево має недійсний формат.
-
badType -
(ПОМИЛКА) Знайдено недійсний тип обʼєкта.
-
duplicateEntries -
(ПОМИЛКА) Дерево містить дублікати записів файлів.
-
emptyName -
(ПОПЕРЕДЖЕННЯ) Шлях містить порожнє імʼя.
-
emptyPackedRefsFile -
(ІНФОРМАЦІЯ) Файл "packed-refs" порожній. Повідомте про цю помилку до списку розсилки git@vger.kernel.org. Оскільки лише дуже ранні версії Git створювали такий порожній файл "packed_refs", ми можемо посилити це правило в майбутньому.
-
extraHeaderEntry -
(ІГНОРУВАТИ) Після
taggerзнайдено зайві заголовки. -
fullPathname -
(ПОПЕРЕДЖЕННЯ) Шлях містить повний шлях, що починається з "/".
-
gitattributesBlob -
(ПОМИЛКА) У файлі
.gitattributesзнайдено не-блоб обʼєкт. -
gitattributesLarge -
(ПОМИЛКА) Блоб-обʼєкт
.gitattributesзанадто великий. -
gitattributesLineLength -
(ПОМИЛКА) Блоб-обʼєкт
.gitattributesмістить занадто довгі рядки. -
gitattributesMissing -
(ПОМИЛКА) Не вдалося прочитати блоб
.gitattributes. -
gitattributesSymlink -
(ІНФОРМАЦІЯ)
.gitattributes— це символічне посилання. -
gitignoreSymlink -
(ІНФОРМАЦІЯ)
.gitignore— це символічне посилання. -
gitmodulesBlob -
(ПОМИЛКА) У
.gitmodulesзнайдено не-блоб обʼєкт. -
gitmodulesLarge -
(ПОМИЛКА) Файл
.gitmodulesзанадто великий для розбору. -
gitmodulesMissing -
(ПОМИЛКА) Не вдалося прочитати блоб
.gitmodules. -
gitmodulesName -
(ПОМИЛКА) Імʼя субмодуля недійсне.
-
gitmodulesParse -
(ІНФОРМАЦІЯ) Не вдалося проаналізувати блоб
.gitmodules. -
gitmodulesPath -
(ПОМИЛКА) Шлях
.gitmodulesнедійсний. -
gitmodulesSymlink -
(ПОМИЛКА)
.gitmodules— є символічним посиланням. -
gitmodulesUpdate -
(ПОМИЛКА) Знайдено недійсне налаштування оновлення субмодуля.
-
gitmodulesUrl -
(ПОМИЛКА) Знайдено недійсну URL-адресу субмодуля.
-
hasDot -
(ПОПЕРЕДЖЕННЯ) Дерево містить запис з назвою
.. -
hasDotdot -
(ПОПЕРЕДЖЕННЯ) Дерево містить запис з назвою
... -
hasDotgit -
(ПОПЕРЕДЖЕННЯ) Дерево містить запис з назвою
.git. -
largePathname -
(ПОПЕРЕДЖЕННЯ) Дерево містить запис із дуже довгим шляхом. Якщо значення
fsck.largePathnameмістить двокрапку, це значення використовується як максимально допустима довжина (наприклад, "warn:10" скаржитиметься на будь-який компонент шляху довжиною 11 або більше байтів). Стандартне значення — 4096. -
mailmapSymlink -
(ІНФОРМАЦІЯ)
.mailmap— є символічним посиланням. -
missingAuthor -
(ПОМИЛКА) Автор відсутній.
-
missingCommitter -
(ПОМИЛКА) Відсутній коміттер.
-
missingEmail -
(ПОМИЛКА) У рядку автора/комітера відсутня електронна адреса.
-
missingNameBeforeEmail -
(ПОМИЛКА) Відсутнє імʼя перед електронною поштою в рядку автора/комітера.
-
missingObject -
(ПОМИЛКА) Відсутній рядок
objectв тегу object. -
missingSpaceBeforeDate -
(ПОМИЛКА) Бракує пробілу перед датою в рядку автора/комітера.
-
missingSpaceBeforeEmail -
(ПОМИЛКА) Бракує пробілу перед електронною адресою в рядку автора/комітера.
-
missingTag -
(ПОМИЛКА) Неочікуваний кінець після рядка
typeв обʼєкті тегу. -
missingTagEntry -
(ПОМИЛКА) Відсутній рядок
tagв обʼєкті tag. -
missingTaggerEntry -
(INFO) Відсутній рядок
taggerв обʼєкті tag. -
missingTree -
(ПОМИЛКА) Відсутній рядок
treeв обʼєкті commit. -
missingType -
(ПОМИЛКА) Недійсне значення типу в рядку
typeв обʼєкті тегу. -
missingTypeEntry -
(ПОМИЛКА) Відсутній рядок
typeв обʼєкті тегу. -
multipleAuthors -
(ПОМИЛКА) У коміті знайдено кілька рядків автора.
-
nulInCommit -
(ПОПЕРЕДЖЕННЯ) У тілі обʼєкта коміту знайдено байт NUL.
-
nulInHeader -
(ФАТАЛЬНА ПОМИЛКА) У заголовку об’єкта міститься NUL байт.
-
nullSha1 -
(ПОПЕРЕДЖЕННЯ) Дерево містить записи, що вказують на нульовий sha1.
-
packedRefEntryNotTerminated -
(ПОМИЛКА) Файл "packed-refs" містить запис, який не завершується символом нового рядка.
-
packedRefUnsorted -
(ПОМИЛКА) Файл "packed-refs" не відсортовано.
-
refMissingNewline -
(ІНФОРМАЦІЯ) Вільне посилання, яке не закінчується символом нового рядка (LF). Оскільки коректні реалізації Git ніколи не створювали такий файл вільних посилань, це може стати помилкою в майбутньому. Повідомте про цю помилку до списку розсилки git@vger.kernel.org, оскільки нам потрібно знати, які інструменти створили такий файл.
-
symlinkRef -
(ІНФОРМАЦІЯ) Символічне посилання використовується як symref. Повідомте про цю помилку до списку розсилки git@vger.kernel.org, оскільки ми оцінюємо можливість відмови від підтримки створення символічних посилань як symref.
-
symrefTargetIsNotARef -
(ІНФОРМАЦІЯ) Ціль символічного посилання не вказує ні на кореневе посилання, ні на посилання, що починається з "refs/". Хоча ми дозволяємо створювати symref, що вказує на референта, що знаходиться поза "ref", за допомогою
gitsymbolic-ref, ми можемо посилити це правило в майбутньому. Повідомте про цю помилку до списку розсилки git@vger.kernel.org, оскільки нам потрібно знати, які інструменти створили такий файл. -
trailingRefContent -
(ІНФОРМАЦІЯ) Вільне посилання має кінцевий вміст. Оскільки коректні реалізації Git ніколи не створювали такий файл вільних посилань, це може стати помилкою в майбутньому. Повідомте про цю помилку до списку розсилки git@vger.kernel.org, оскільки нам потрібно знати, які інструменти створили такий файл.
-
treeNotSorted -
(ПОМИЛКА) Дерево неправильно відсортоване.
-
unknownType -
(ПОМИЛКА) Знайдено невідомий тип обʼєкта.
-
unterminatedHeader -
(ФАТАЛЬНА ПОМИЛКА) Відсутній кінець рядка в заголовку обʼєкта.
-
zeroPaddedDate -
(ПОМИЛКА) Знайдено дату, доповнену нулями, у рядку автора/комітера.
-
zeroPaddedFilemode -
(ПОПЕРЕДЖЕННЯ) У дереві знайдено файловий режим з доповненням нулями.
Змінні середовища
- GIT_OBJECT_DIRECTORY
-
використовується для визначення кореневої теки бази даних обʼєктів (зазвичай $GIT_DIR/objects)
- GIT_INDEX_FILE
-
використовується для визначення індексного файлу індексу
- GIT_ALTERNATE_OBJECT_DIRECTORIES
-
використовується для визначення додаткових коренів бази даних обʼєктів (зазвичай не встановлені)
GIT
Частина набору git[1]