این دستور git-gc است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
git-gc - فایل های غیر ضروری را پاک کرده و مخزن محلی را بهینه کنید
خلاصه
دستگاه گوارش gc [--تهاجمی] [--خودکار] [--آرام] [--Prune= | --بدون هرس] [-- زور]
شرح
تعدادی از وظایف خانه داری را در مخزن فعلی اجرا می کند، مانند فشرده سازی
ویرایش فایل (برای کاهش فضای دیسک و افزایش عملکرد) و حذف غیرقابل دسترسی
اشیایی که ممکن است از فراخوان های قبلی ایجاد شده باشند دستگاه گوارش اضافه کردن.
کاربران تشویق می شوند که این کار را به صورت منظم در هر مخزن به اجرا کنند
حفظ استفاده خوب از فضای دیسک و عملکرد عملیاتی خوب.
برخی از دستورات git ممکن است به طور خودکار اجرا شوند دستگاه گوارش gc; برای جزئیات بیشتر به پرچم --auto زیر مراجعه کنید. اگر
شما می دانید چه کاری انجام می دهید و تنها چیزی که می خواهید این است که این رفتار را برای همیشه غیرفعال کنید
بدون ملاحظات بیشتر، فقط انجام دهید:
$ git config --global gc.auto 0
OPTIONS
--خشونت آمیز
معمولا دستگاه گوارش gc بسیار سریع اجرا می شود در حالی که استفاده خوب از فضای دیسک را فراهم می کند و
کارایی. این گزینه باعث می شود دستگاه گوارش gc برای بهینه سازی تهاجمی تر
مخزن به قیمت صرف زمان بسیار بیشتر. اثرات این بهینه سازی
پایدار هستند، بنابراین این گزینه فقط باید گاهی اوقات استفاده شود. هر چند صد
تغییرات یا بیشتر
--خودکار
با این گزینه ، دستگاه گوارش gc بررسی می کند که آیا خانه داری مورد نیاز است یا خیر. اگر نه، خارج می شود
بدون انجام هیچ کاری برخی از دستورات git پس از اجرا git gc --auto را اجرا می کنند
عملیاتی که می تواند بسیاری از اشیاء شل را ایجاد کند.
اگر اشیاء گشاد یا بسته های زیادی در آن وجود داشته باشد، نظافت منزل الزامی است
مخزن اگر تعداد اشیاء شل از مقدار gc.auto بیشتر شود
متغیر پیکربندی، سپس تمام اشیاء شل با استفاده از یک بسته واحد ترکیب می شوند
git repack -d -l. تنظیم مقدار gc.auto روی 0، بستهبندی خودکار را غیرفعال میکند
اشیاء شل
اگر تعداد بستهها از مقدار gc.autoPackLimit بیشتر شود، بستههای موجود
(به جز مواردی که با یک فایل .keep مشخص شده اند) با استفاده از آن در یک بسته واحد ادغام می شوند
گزینه -A از دستگاه گوارش بسته بندی کردن. تنظیم gc.autoPackLimit روی 0، خودکار را غیرفعال می کند
ادغام بسته ها
-- هرس =
اشیاء شل قدیمیتر از تاریخ را هرس کنید (پیشفرض 2 هفته قبل است، با پیکربندی قابل لغو
متغیر gc.pruneExpire). --prune=همه آلو خشک اجسام را بدون توجه به سنشان شل می کنند (do
از --prune=all استفاده نکنید مگر اینکه دقیقاً بدانید چه کاری انجام می دهید. مگر اینکه مخزن
ساکت است، اشیاء تازه ایجاد شده را که با آن متصل نشده اند از دست خواهید داد
پاسخ می دهد و در نهایت مخزن شما را خراب می کند). --prune به طور پیش فرض روشن است.
-- بدون هرس
هیچ چیز شل را هرس نکنید.
--ساکت
تمام گزارش های پیشرفت را سرکوب کنید.
--زور
git gc را مجبور به اجرا کنید حتی اگر نمونه دیگری از git gc در این مورد اجرا شود
مخزن
پیکربندی
متغیر تنظیمات اختیاری gc.reflogExpire را می توان برای نشان دادن مدت زمان تنظیم کرد
ورودی های تاریخی در reflog هر شعبه باید در این مخزن در دسترس باقی بماند.
تنظیم به عنوان یک مدت زمان بیان می شود 90 روز or 3 ماه. پیش فرض می شود
به 90 روز.
متغیر تنظیمات اختیاری gc.reflogExpireUnreachable را می توان برای نشان دادن چگونگی تنظیم کرد
ورودیهای تاریخی طولانی که بخشی از شاخه فعلی نیستند باید باقی بمانند
در این مخزن موجود است. این نوع ورودی ها عموماً در نتیجه ایجاد می شوند
با استفاده از git commit --amend یا git rebase و commit های قبل از اصلاح یا rebase هستند
رخ می دهد. از آنجایی که این تغییرات بخشی از پروژه فعلی نیستند، اکثر کاربران مایل به انجام آن هستند
زودتر منقضی شوند این گزینه به صورت پیش فرض 30 روز.
دو متغیر پیکربندی بالا را می توان به یک الگو داد. به عنوان مثال، این مجموعه
مقادیر انقضای غیر پیش فرض فقط برای شاخه های ردیابی از راه دور:
[gc "refs/remotes/*"]
reflogExpire = هرگز
reflogExpireUnreachable = 3 روز
متغیر تنظیمات اختیاری gc.rerereResolved نشان می دهد که چه مدت رکورد از
ادغام متناقضی که قبلا حل کرده اید حفظ می شوند. این به طور پیش فرض 60 روز است.
متغیر تنظیمات اختیاری gc.rerereحل نشد نشان می دهد که چه مدت رکورد از
ادغام متناقضی که شما حل نکرده اید حفظ می شوند. این به طور پیش فرض 15 روز است.
متغیر تنظیمات اختیاری gc.packRefs تعیین می کند که آیا دستگاه گوارش gc اجرا می شود دستگاه گوارش pack-refs.
این را می توان روی "notbare" تنظیم کرد تا در تمام مخازن غیر برهنه فعال شود یا می توان آن را روی یک تنظیم کرد.
مقدار بولی این به طور پیش فرض درست است.
متغیر تنظیمات اختیاری gc.aggressiveWindow میزان زمان صرف شده را کنترل می کند
بهینه سازی فشرده سازی دلتا از اشیاء موجود در مخزن زمانی که -- aggressive
گزینه مشخص شده است. هر چه مقدار بزرگتر باشد، زمان بیشتری برای بهینه سازی دلتا صرف می شود
فشرده سازی اسناد مربوط به گزینه --window' را در اینجا ببینید git-repack(1) برای اطلاعات بیشتر
جزئیات. این پیش فرض روی 250 است.
به طور مشابه، متغیر تنظیمات اختیاری gc.aggressiveDepth گزینه controls --depth
in git-repack(1). این پیش فرض روی 250 است.
متغیر تنظیمات اختیاری gc.pruneExpire کنترل می کند که لوس نامرجع چند ساله است
اشیاء باید قبل از هرس شدن باشند. پیش فرض "2 هفته پیش" است.
NOTES
دستگاه گوارش gc بسیار تلاش می کند تا در مورد زباله هایی که جمع آوری می کند ایمن باشد. به طور خاص، آن را خواهد کرد
نه تنها اشیایی که توسط مجموعه شاخه ها و تگ های فعلی شما به آنها ارجاع داده شده اند، بلکه همچنین نگه دارید
اشیاء ارجاع شده توسط ایندکس، شاخه های ردیابی از راه دور، مراجع ذخیره شده توسط دستگاه گوارش فیلتر-شاخه
در refs/original/ یا reflogs (که ممکن است در شاخههایی که بعداً انجام شدهاند ارجاع دهند
اصلاح یا بازگردانده شد).
اگر انتظار دارید برخی از اشیاء جمع آوری شوند و جمع آوری نمی شوند، همه آنها را بررسی کنید
مکان ها و تصمیم بگیرید که آیا در مورد شما منطقی است که آن مراجع را حذف کنید.
قلاب
La دستگاه گوارش gc --خودکار دستور اجرا خواهد شد pre-auto-gc قلاب. دیدن githooks(5) برای اطلاعات بیشتر
اطلاعات.
از git-gc به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید