انتقل إلى محتوى الدرس

Snapshots vs File Deltas اللقطات الكاملة مقابل الفروق

اكتشف كيف يخزن Git تاريخ المشروع على هيئة لقطات كاملة بدلاً من فروق الملفات، وكيف يضمن سلامة البيانات ببصمات SHA-1، ودورة انتقال الملفات عبر المناطق الثلاث.
4 صفوف تعليمية
Version Control
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تتعامل أنظمة التحكم القديمة مع البيانات على أنها قائمة من الفروق النصية المتتابعة لكل ملف على حدة (Delta-Based Storage)، أما نظام Git فيبتكر نموذجاً مختلفاً جذرياً: إذ يتعامل مع تاريخ المشروع باعتباره سلسلة متتابعة من اللقطات الكاملة (Snapshots) لنظام ملفات مصغر.

  • تصوير حالة المشروع بالكامل: عند حفظ كل إصدار جديد، يلتقط Git صورة شاملة لحالة جميع ملفات المشروع في تلك اللحظة.
  • عدم تكرار الملفات الثابتة: إذا لم يتغير ملف ما بين لقطتين، فلا يعيد Git نسخه، بل يضع مؤشراً خفيفاً يشير إلى النسخة المحفوظة مسبقاً لتوفير المساحة.
الصف 2 صورة توضيحية
المناطق الثلاث الأساسية وحركة اللقطات داخل نظام Git
الصف 3 كود برمجي
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
الصف 4 ملاحظة هامة