شرح صفوف ومحتوى الفقرة
تتعامل أنظمة التحكم القديمة مع البيانات على أنها قائمة من الفروق النصية المتتابعة لكل ملف على حدة (Delta-Based Storage)، أما نظام Git فيبتكر نموذجاً مختلفاً جذرياً: إذ يتعامل مع تاريخ المشروع باعتباره سلسلة متتابعة من اللقطات الكاملة (Snapshots) لنظام ملفات مصغر.
- تصوير حالة المشروع بالكامل: عند حفظ كل إصدار جديد، يلتقط Git صورة شاملة لحالة جميع ملفات المشروع في تلك اللحظة.
- عدم تكرار الملفات الثابتة: إذا لم يتغير ملف ما بين لقطتين، فلا يعيد Git نسخه، بل يضع مؤشراً خفيفاً يشير إلى النسخة المحفوظة مسبقاً لتوفير المساحة.
Shell
# Snapshot model inside Git:
# Commit C1: index.html(v1), app.css(v1)
# Commit C2: index.html(v2), app.css(-> v1)
# Unchanged files reuse existing objects