پوشه .git - ساختار داخلی

پوشه .git - ساختار داخلی

پوشه .git قلب هر مخزن گیت است و شامل تمام متادیتا و داده‌های لازم برای کنترل نسخه می‌باشد.

ساختار دقیق:

  • config : تنظیمات محلی مخزن (آدرس ریموت، alias ها، شاخه‌های پیش‌فرض و ...)
  • description : توضیح کوتاه ریپو (برای GitWeb یا GitLab)
  • HEAD : اشاره‌گر شاخه یا کامیت فعلی
  • index : کش Staging Area (فایل باینری)
  • packed-refs : رفرنس‌های فشرده در صورت زیاد شدن
  • shallow : در clone های shallow موجود است
  • info/exclude : قوانین ignore محلی (کامیت نمی‌شوند)
  • hooks/ : هوک‌های سمت کلاینت (pre-commit, post-commit, pre-push و ...)
  • logs/ : تاریخچه حرکت HEAD و refs
  • objects/ : تمام اشیاء گیت (blob، tree، commit، tag) با کلید هش SHA
  • refs/ : اشاره‌گرها (heads, tags, remotes)