українська мова ▾ Topics ▾ Latest version ▾ git-fsck last updated in 2.53.0

НАЗВА

git-fsck — Перевірка звʼязності та достовірності обʼєктів у базі даних

СИНОПСИС

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 uk/config/fsck.adoc

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].