| git-annex-repair(1) | General Commands Manual | git-annex-repair(1) |
نام (NAME)
git-annex-repair - بازیابی و تعمیر مخزن گیت آسیبدیده
خلاصه دستور (SYNOPSIS)
git annex repair
توضیحات (DESCRIPTION)
این دستور میتواند بسیاری از مشکلات مخازن گیت را که git fsck شناسایی میکند اما خود قادر به رفع آنها نیست، تعمیر کند. این ابزار زمانی که یک مخزن به شدت آسیب دیده باشد بسیار مفید است. یکی از مواردی که ممکن است این اتفاق رخ دهد، زمانی است که مخزن مورد استفاده توسط git-annex روی یک حافظه جداشدنی قرار داشته باشد که در زمان نامناسب جدا شده است.
این دستور در عمل میتواند درون مخازن گیتی که اصلاً از git-annex استفاده نمیکنند نیز به کار رود؛ هنگامی که در مخزنی که از git-annex استفاده میکند به کار گرفته شود، تعمیرات بیشتری را روی شاخه git-annex انجام میدهد.
نحوه کار آن به این صورت است که تمام اشیای آسیبدیده و مخدوش را از مخزن گیت حذف کرده، و تمام اشیای مفقود را تا جای ممکن از ریموتهای مخزن بازیابی میکند.
اگر این کار برای بازیابی کامل مخزن کافی نباشد، میتواند شاخهها را به کامیتهای پیش از وقوع خرابی بازنشانی کند، شاخههایی را که به دلیل دادههای از دست رفته دیگر در دسترس نیستند حذف نماید، و هرگونه فایل مفقود را از ایندکس پاک کند. این کار فقط در صورتی انجام میشود که دستور با گزینه --force اجرا شود، زیرا تاریخچه را بازنویسی کرده و دادههای مفقود را دور میریزد. توجه داشته باشید که گزینه --force هرگز برچسبها (tags) را تغییر نمیدهد، حتی اگر به دلیل دادههای مفقود دیگر قابل استفاده نباشند.
پس از اجرای این دستور، احتمالاً مایل خواهید بود که git fsck را برای اطمینان از رفع مشکلات مخزن اجرا کنید. توجه داشته باشید که اگر امکان بازیابی اشیا وجود نداشته باشد، ممکن است fsck همچنان در مورد اشیایی که در reflog یا stash به آنها ارجاع داده شده شکایت کند. این دستور تلاشی برای پاکسازی reflog یا stash نمیکند.
همچنین ایده خوبی است که دستور git annex fsck --fast را پس از این دستور اجرا کنید تا مطمئن شوید شاخه git-annex منطبق با وضعیت واقعی است.
گزینهها (OPTIONS)
- --force
- فعالسازی اقداماتی جهت تعمیر که شامل حذف دادههای از دست رفته به دلیل خرابی مخزن گیت میشوند.
- همچنین میتوان از گزینههای git-annex-common-options(1) نیز استفاده کرد.
همچنین ببینید (SEE ALSO)
git-annex(1)
git-annex-fsck(1)
نویسنده (AUTHOR)
Joey Hess <id@joeyh.name>