دقة الرسوم التوضيحية
لا شيء في المشهد مرسوم يدويًا. كل رسم توضيحي هو قائمة أوامر Git يشغّلها محاكي Git مدمج في الموقع داخل متصفحك. مخرجات الطرفية يولّدها المحاكي، وكل حركة مشتقة مما تغيّر فعلًا في المستودع. ولإبقاء المحاكي صادقًا، تُعاد كل خطوة قبل كل إصدار في Git الحقيقي 2.48 وتُقارن المخرجات سطرًا بسطر.
أوامر Git
| الأمر | المخرجات مقارنةً بـ Git الحقيقي | الحالة |
|---|---|---|
git add | 67 خطوات | تم التحقق |
git commit | 133 خطوات | تم التحقق |
git reset | 29 خطوات | تم التحقق |
git branch | 69 خطوات | تم التحقق |
git checkout | 58 خطوات | تم التحقق |
git merge | 39 خطوات | تم التحقق |
git rebase | 48 خطوات | تم التحقق |
git cherry-pick | 48 خطوات | تم التحقق |
git stash | 50 خطوات | تم التحقق |
git fetch | 26 خطوات | تم التحقق |
git pull | 80 خطوات | تم التحقق |
git push | 89 خطوات | تم التحقق |
git log | 24 خطوات | تم التحقق |
git status | 23 خطوات | تم التحقق |
git diff | 22 خطوات | تم التحقق |
git restore | 18 خطوات | تم التحقق |
git rm | 11 خطوات | تم التحقق |
git mv | 3 خطوات | تم التحقق |
git clean | 22 خطوات | تم التحقق |
git switch | 24 خطوات | تم التحقق |
git tag | 18 خطوات | تم التحقق |
git revert | 16 خطوات | تم التحقق |
git show | 10 خطوات | تم التحقق |
git reflog | 8 خطوات | تم التحقق |
git init | 9 خطوات | تم التحقق |
git clone | 14 خطوات | تم التحقق |
git config | 13 خطوات | تم التحقق |
git remote | 8 خطوات | تم التحقق |
git blame | 12 خطوات | تم التحقق |
git annotate | 3 خطوات | تم التحقق |
git grep | 20 خطوات | تم التحقق |
git describe | 15 خطوات | تم التحقق |
git shortlog | 13 خطوات | تم التحقق |
git show-branch | 4 خطوات | تم التحقق |
git whatchanged | 3 خطوات | تم التحقق |
git version | 3 خطوات | تم التحقق |
git help | 6 خطوات | تم التحقق |
git notes | 18 خطوات | تم التحقق |
git bisect | 25 خطوات | تم التحقق |
git worktree | 12 خطوات | تم التحقق |
git sparse-checkout | 17 خطوات | تم التحقق |
git archive | 13 خطوات | تم التحقق |
git bundle | 10 خطوات | تم التحقق |
git format-patch | 10 خطوات | تم التحقق |
git am | 5 خطوات | تم التحقق |
git range-diff | 4 خطوات | تم التحقق |
git merge-tree | 4 خطوات | تم التحقق |
git rerere | 9 خطوات | تم التحقق |
git fsck | 10 خطوات | تم التحقق |
git fast-export | 7 خطوات | تم التحقق |
مشروح، غير متحرّك (22)
لا يستطيع المحاكي عرضها بأمانة (أدوات رسومية، برامج خارجية، آليات التخزين الداخلية، التواقيع، أوامر أحدث من Git 2.48)، لذا تشرحها صفحاتها. لا توجد رسوم متحركة لمقارنتها مع Git الحقيقي.
سيناريوهات من الواقع
| السيناريو | المخرجات مقارنةً بـ Git الحقيقي | الحالة |
|---|---|---|
| أول commit لك في Git | 10 خطوات | تم التحقق |
| نسخ مستودع (Clone) | 8 خطوات | تم التحقق |
| التراجع عن آخر commit | 13 خطوات | تم التحقق |
| سير العمل بفروع الميزات | 14 خطوات | تم التحقق |
| حل تعارض الدمج | 10 خطوات | تم التحقق |
| إصلاح عاجل لإصدار في الإنتاج | 12 خطوات | تم التحقق |
| عمل rebase لـ PR على أحدث main | 11 خطوات | تم التحقق |
| تاريخ نظيف قبل الدمج | 10 خطوات | تم التحقق |
| استعادة العمل المفقود | 10 خطوات | تم التحقق |
| التراجع عن دمج سيئ | 9 خطوات | تم التحقق |
| إصلاح عاجل في منتصف ميزة | 12 خطوات | تم التحقق |
| وسم الإصدارات ونشرها | 9 خطوات | تم التحقق |
| تقسيم commit للمراجعة | 8 خطوات | تم التحقق |
| تنظيف الفروع المدموجة | 11 خطوات | تم التحقق |
| النسخ السطحية في CI | 6 خطوات | تم التحقق |
كيف يتم التحقق؟
مخرجات الطرفية
يعيد اختبارٌ تشغيل كل درس في مستودع Git حقيقي 2.48 بالملفات والتواريخ نفسها، ثم يقارن مخرجات كل أمر وحالة خروجه ومحتوى المحرر بما يعرضه الموقع. لا يُوحَّد إلا ما يخص الجهاز (الـ hashes والمسارات وسرعة النقل).
الرسوم المتحركة
العُقد ولافتات الفروع وHEAD ومناطق الملفات الثلاث والمستودع البعيد تُرسم من حالة المستودع بعد كل أمر — لذا لا يمكن للصورة أن تُظهر إلا ما فعله المحاكي فعلًا (وهذا يُتحقَّق منه مقارنةً بـ Git الحقيقي). كما يتحقق كل درس من حقائقه الأساسية (الفرع، نظافة الشجرة، التعارضات، عنوان الـ commit) أثناء البناء.
يُفحص عند كل بناء
أي درس يخالف إحدى هذه القواعد يوقف البناء:
- كل أمر يعمل؛ والخطوات التي يُفترض أن تفشل تفشل فعلًا
- توقعات الدرس صحيحة (الفرع، نظافة الشجرة، التعارضات، commit الـ HEAD)
- لا مخرجات ولا hashes ولا مواضع مكتوبة يدويًا
- كل خطوة تُظهر شيئًا (مخرجات أو تغييرًا مرئيًا)
- دروس الخيارات تستخدم خيارها فعلًا
- شارات التوصية تطابق توثيق الخيار
- المستودع الابتدائي نفسه في كل صفحة
- فكرة واحدة في كل خطوة، مشروحة بجملة كاملة
الحدود: بعض الخيارات تعتمد على أشياء خارج المستودع (محرّرك، أذونات الملفات، المستودعات المتداخلة، نهايات الأسطر، sparse checkout). تُشرح هذه ببطاقة «كيف يعمل» بدل الرسوم المتحركة. هل لاحظت شيئًا يختلف عن Git لديك؟ أبلغ عنه.