تختلف أحجام عمليات الالتزام في Git بناءً على قابلية ضغط الملفات وهيكل الدليل. تظهر التجارب أن المستودع الفارغ يستغرق حوالي 64,828 بايت، بينما يؤدي الالتزام بـ 250 ملفًا صغيرًا إلى إضافة 47,640 بايت. يتطلب تغيير بحجم 3 بايت في دليل يحتوي على 50 ملفًا 17,145 بايت، بينما يؤدي التغيير في ملف واحد إلى إضافة 8,709 بايت فقط. تؤدي الملفات الأكبر حجمًا، مثل الملف الثنائي بحجم 583 كيلوبايت أو ملف المصدر بحجم 16 ميجابايت، إلى 297,873 بايت و1,622,188 بايت على التوالي. يقلل ضغط zlib وتحسينات packfile في Git من التكرار، مما يجعله فعالًا للغاية—حيث يخزن فقط 10–50% من الحجم الأصلي للملف. ينشئ كل التزام كائنات جديدة، لكن النظام مصمم لتقليل النفقات العامة حتى في حالة التغييرات الطفيفة.
المصدر: Hacker News · لخّصه HeadlinesBriefing