سيناريوهات Git من الواقع
أدلة خطوة بخطوة لمواقف Git الشائعة التي ستواجهها في مشاريع حقيقية. يتضمن كل سيناريو رسومًا تفاعلية تساعدك على فهم ما يحدث.
أول commit لك في Git
حوّل مجلد مشروع عاديًا إلى مستودع: init، ثم التجهيز، ثم commit، وواصل.
نسخ مستودع (Clone)
انضم إلى مشروع قائم: انسخه من GitHub، واستكشفه، وانشر أول فرع لك.
التراجع عن آخر commit
amend وreset soft وreset hard والاستعادة عبر reflog وrevert — اختر طريقة التراجع المناسبة لكل موقف.
سير العمل بفروع الميزات
الدورة اليومية للفريق: فرع، commit، push، مواكبة main، دمج، ثم تنظيف.
حل تعارض الدمج
فرعان يغيّران الأسطر نفسها. اقرأ علامات التعارض، وحلّه، ثم أنهِ الدمج.
إصلاح عاجل لإصدار في الإنتاج
أصلح إصدارًا منشورًا على فرع الإصدار الخاص به، وضع عليه وسمًا، ثم انقل الإصلاح إلى main بـ cherry-pick -x.
عمل rebase لـ PR على أحدث main
تقدّم main وتعارض مع الـ pull request المفتوح لديك. نفّذ rebase، وحلّ التعارض، وحدّث الـ PR بـ --force-with-lease.
تاريخ نظيف قبل الدمج
اضمم commits «fix typo» وأعد صياغة الرسائل المبهمة بالـ rebase التفاعلي، ثم قدّم main بـ fast-forward.
استعادة العمل المفقود
فرع حُذف بـ -D، أو reset تجاوز الحد — الـ reflog وORIG_HEAD يعيدان كل شيء.
التراجع عن دمج سيئ
ميزة مدموجة عطّلت الإنتاج. تراجع عن الدمج بالكامل على main المشترك بـ git revert -m 1.
إصلاح عاجل في منتصف ميزة
ضع العمل غير المكتمل جانبًا بـ git stash، وانشر إصلاحًا عاجلًا على main، ثم أكمل من حيث توقفت تمامًا.
وسم الإصدارات ونشرها
علّم كل إصدار بوسم موصوف، وادفع الوسوم، وعُد إلى أي إصدار منشور.
تقسيم commit للمراجعة
يطلب المراجع commits أصغر. تراجع عن الـ commit وجهّزه من جديد جزءًا بعد جزء بـ git add -p.
تنظيف الفروع المدموجة
أزل الفروع المحذوفة على GitHub، واعرف الفروع المحلية المدموجة، واحذفها بأمان.
النسخ السطحية في CI
تنسخ CI بـ --depth 1 للسرعة. شاهد ما لا يستطيع التاريخ السطحي فعله، ثم عمّقه أو اجعله كاملًا.