سير عمل Git في الفرق الحقيقية: أي سير عمل تختار
غالبًا ما يُطرح في المقابلات سؤال: «ما سير عمل Git الذي استخدمته؟» بعد هذا القسم، سيكون لديك إجابة صادقة ومفصلة. سنستعرض ثلاثة أساليب شائعة — Feature Branch Workflow وGit Flow وTrunk-Based Development — ونحلل أين يكون كل منها فعالاً وأين يصبح عائقًا.
- ستتمكن من وصف ثلاثة سير عمل شائعة لـ Git في المقابلات وشرح الاختلافات بينها.
- ستفهم كيف يؤثر حجم الفريق وتكرار الإصدارات على اختيار عملية التطوير.
- ستتعلم طرح الأسئلة الصحيحة حول سير العمل عند الانضمام إلى فريق جديد.
Phần đầu bài giảng
لماذا نستخدم Feature Branch Workflow؟
- Feature Branch = نسخة عمل منفصلة لميزة في تطبيق
- عزل الكود للعمل المتوازي
- تجارب آمنة من دون المخاطرة بفرع main
- سهولة التطبيق للفرق بكل مستويات الخبرة
- مثالي للانطلاق والمشاريع الصغيرة
تخيل فريقًا يعمل على إضافة طريقة دفع أو تسجيل دخول إلى تطبيق مألوف للمستخدم السعودي. Feature Branch Workflow يعمل بالطريقة نفسها: كل ميزة جديدة تُبنى في بيئة معزولة. يستطيع المطورون العمل على مهام مختلفة في الوقت نفسه من دون أن يتداخل عملهم مع الفرع الرئيسي. يمكنك تجربة أفكار جديدة وأنت مطمئن أن main يبقى مستقرًا. هذا الأسلوب مناسب جدًا للفرق الصغيرة أو المشاريع التي تحتاج سرعة ومرونة. وعندما تكتمل الميزة، تمر بمراجعة الكود ثم تُدمج في الكود الرئيسي. البساطة والفعالية هما سبب انتشاره الواسع.
دورة حياة فرع الميزة
- git checkout -b feature/new-payment
- رسائل إيداع واضحة
- git push origin feature/new-payment
- إنشاء طلب دمج
- مراجعة الكود ثم الدمج في main
لنتابع دورة حياة فرع الميزة من لحظة إنشائه حتى دمجه. نبدأ بالأمر git checkout -b feature/new-payment، وهو ينشئ فرعًا جديدًا انطلاقًا من main. نعمل على المهمة، ونُثبّت التغييرات برسائل إيداع واضحة تشرح ما تغيّر. عندما تكتمل الميزة، نرفع الفرع إلى المستودع البعيد ثم ننشئ طلب دمج. الزملاء يراجعون الكود ويتركون ملاحظاتهم، وبعد تطبيق التعديلات تدخل التغييرات إلى الفرع الرئيسي. قاعدة مهمة: فرع واحد لمهمة واحدة مكتملة منطقيًا. هذا يحافظ على ترتيب تاريخ الإيداعات.
# ننشئ فرعًا من main
git checkout main
git pull origin main
git checkout -b feature/new-payment
# نعمل ونُثبّت التغييرات
echo 'إضافة معالجة المدفوعات' > payment.js
git add payment.js
git commit -m 'إضافة وحدة معالجة المدفوعات'
# نرفع الفرع ونُنشئ طلب الدمج
git push origin feature/new-payment
# بعد ذلك ننشئ طلب دمج عبر واجهة GitHub
إنشاء فرع ميزة بأمرين
- Feature Branch Workflow — البساطة والفعالية
- ننشئ فرعًا من أحدث main
- git checkout -b feature/new-login
- اسم الفرع يعكس المهمة
- feature/ وfix/ وdocs/ — بادئات للتوضيح
لننشئ فرع ميزة عمليًا. أولًا ننتقل إلى الفرع الرئيسي ونحدثه بالأمر git checkout main && git pull. ثم ننشئ فرعًا جديدًا للمهمة بالأمر git checkout -b feature/new-login. الخيار -b يطلب من Git إنشاء فرع جديد والتبديل إليه فورًا. بأمرين فقط تصبح جاهزًا للعمل. اجعل اسم الفرع يعكس المهمة بوضوح؛ فبادئات مثل feature/ أو fix/ أو docs/ تساعد الفريق على فهم هدف الفرع بسرعة. الآن يمكنك البدء في التغييرات.
git checkout main && git pull
# نحدّث الفرع الرئيسي
git checkout -b feature/new-login
# ننشئ فرعًا جديدًا وننتقل إليه
Bài giảng đầy đủ dành cho thuê bao
Còn 31 slide nữa trong phiên bản đầy đủ.
Video, toàn bộ slide, ghi chú, bài kiểm tra, gia sư AI và phỏng vấn sẽ mở sau khi đăng nhập và đăng ký thuê bao.
Đăng nhập hoặc đăng ký Đăng ký thuê baoNội dung bài giảng
- لماذا نستخدم Feature Branch Workflow؟
- دورة حياة فرع الميزة
- إنشاء فرع ميزة بأمرين
- إرسال التغييرات للمراجعة
- مراجعة الكود ثم الدمج
- Git Flow: خط إنتاج للتطوير
- فروع الميزات والتحضير للإصدار
- التصحيحات العاجلة عبر hotfix
- تمرين عملي: إنشاء فرع ميزة
- تشغيل Git Flow في المشروع
- تطوير ميزة جديدة: من الفرع إلى الدمج
- تحضير الإصدار: تجميع التغييرات
- التعديلات العاجلة: hotfix أثناء العمل
- التطوير المعتمد على الجذع: جوهر النهج
- كيف نتعامل مع الوظائف غير الجاهزة في TBD
- ممارسة: كوميتات متكررة في فرع main
- متى تختار Trunk-Based Development
- خطأ 1: Git Flow لفريق صغير
- خطأ 2: Trunk-Based من دون مراجعة كود
- خطأ 3: فروع ميزات طويلة العمر
- كيف تختار سير العمل الصحيح
- كيف تختار عملية Git: المعايير الأساسية
- Feature Branch: سيارة صغيرة مرنة في شوارع الرياض
- Git Flow: سيارة دفع رباعي للفرق الكبيرة
- Trunk-Based: سيارة سباق للإصدارات المتكرّرة
- تحليل عملية Git الحالية: ما المشكلة في Git Flow؟
- خطة الهجرة: انتقال تدريجي إلى أسلوب أبسط
- تدريب الفريق على ممارسات TBD الجديدة
- تطبيق عملي: نقل feature branch إلى TBD
- كيف تتحدث عن workflow في المقابلة؟
- أمثلة على مشكلات وحلولها
- كيف نُطبّق التغييرات على سير العمل
- ما لا ينبغي قوله في المقابلة الوظيفية
- نختار مسارنا: خلاصة وواجب منزلي
Bài viết liên quan đến bài học này
- Git merge và rebase: nên chọn cái nào cho nhóm
- Câu hỏi về Git khi phỏng vấn: 25 câu hỏi và đáp án
- Git Flow, GitHub Flow và trunk-based: chọn quy trình Git nào
- Git và GitHub: khác nhau thế nào và liên hệ ra sao
- Cách cài đặt Git trên Windows, macOS và Linux
Tất cả bài giảng của khóa học
- مقدمة: Git من الصفر إلى مُطوّر محترف
- لماذا نحتاج إلى Git على الإطلاق — ولماذا لا يُقدّم عليك العمل دونه
- تثبيت وإعداد Git لأول استخدام
- المستودع الأول: init وadd وcommit وسحر الفهرس
- قراءة سجل المشروع: أوامر log و diff و show والتنقل في السجل
- الفروع: الواقع الموازي لرمزك البرمجي
- إلغاء الأخطاء: الأوامر restore، reset، revert — الاستخدام الصحيح والخطير
- GitHub والمستودعات البعيدة: كودك في السحابة
- العمل الجماعي: النسخ المتفرعة، الفروع المميزة وطلبات السحب
- نزاعات الدمج: لا داعي للذعر — افهمها وحُلّها
- سير عمل Git في الفرق الحقيقية: أي سير عمل تختار
- الأدوات المتقدمة: rebase، stash، cherry-pick والعلامات (tags)
- المشروع النهائي: محاكاة التطوير الجماعي الفعلي