سير العمل في Git

كيف تنظّم الفرق الفروع والمراجعات والإصدارات. يأتي كل سير عمل أدناه مع قواعده كما صاغها مصدره الأصلي، ومتى يناسب، وعرض متحرك — يشغّله محاكي Git ويُتحقَّق منه مقارنةً بـ Git الحقيقي.

سير العملفروع طويلة الأمدطريقة الإصدارالأنسب لـ
mainنشر main بعد كل pull request مدموجتطبيقات تُنشر باستمرار
main, developفروع release، يوضع وسمها على mainبرمجيات بإصدارات مرقّمة، مع دعم عدة إصدارات
main (the trunk)من الجذع (trunk)، أو من فرع release قصير الأمدفرق CI/CD تدمج يوميًا
upstream’s mainالمشرفون يدمجون pull requests القادمة من الـ forksالمصادر المفتوحة، مساهمون بلا صلاحية كتابة

GitHub flow

فرع main واحد + فروع قصيرة الأمد + pull requests

سير عمل خفيف قائم على الفروع. كل ما في main قابل للنشر؛ ويُجرى كل تغيير على فرع خاص باسم وصفي، ثم يُدمج في main عبر pull request تمت مراجعته، ثم يُنشر.

القواعد

  1. كل ما في فرع main قابل للنشر.
  2. أنشئ فرعًا باسم وصفي من main لكل تغيير.
  3. سجّل الـ commits محليًا وادفع بانتظام إلى الفرع الذي يحمل الاسم نفسه.
  4. افتح pull request لطلب الملاحظات، أو عندما يصبح الفرع جاهزًا للدمج.
  5. ادمج في main بعد المراجعة، ثم احذف الفرع.
  6. انشر فور الدمج (في المقال الأصلي: «يمكنك بل يجب أن تنشر فورًا»).

✓ استخدمه عندما

تطبيقات الويب والخدمات التي تُنشر باستمرار من إصدار واحد.

✗ تجنّبه عندما

عليك صيانة عدة إصدارات منشورة في الوقت نفسه.

المصادر

فتح الـ pull request ودمجه يتمّان على GitHub؛ ويعرض العرض المتحرك عمليات Git المكافئة (زر الدمج الافتراضي في GitHub ينشئ commit دمج).

ابدأ سير العمل وامشِ فيه مرة واحدة.

ملفاتك — ملف واحد، ثلاثة أماكنمجلد العملقرصكالتجهيزالـ commit التاليHEADآخر commitadd ›commit ›GITUALIZE☁ ORIGIN — github.com/acme/shop (مستودع آخر)مستودعك — ‎.git على حاسوبك2e039acAdd homepage2e039ac897849007af489a58ee9eec107a21974e Add homepageb272b3aSet up projectb272b3abaca08f2f1c56c0562679f66a61035535 Set up project129c2dbInitial commit129c2db06bfe68f8469dc82e6e05d1c03d1f768c Initial commit2e039acAdd homepage2e039ac897849007af489a58ee9eec107a21974e Add homepageb272b3aSet up projectb272b3abaca08f2f1c56c0562679f66a61035535 Set up project129c2dbInitial commit129c2db06bfe68f8469dc82e6e05d1c03d1f768c Initial commitmainmain: لافتة متحركة على commitorigin/mainorigin/main: إشارتك المحلية إلى مكان فرع origin عند آخر fetch/push لكHEADHEAD ← الفرع الذي أنت عليهmainmain: كما هو موجود على originREADME.mdدون تغييرapp.jsدون تغييرindex.htmlدون تغييرv1v1v1v1v1v1v2v2v2HEAD → main → 2e039ac “Add homepage”
0.0s / 142s
commitالحلقة = الـ commit الذي يقف عليه HEADغير قابل للوصول (لا يزال موجودًا)الفرع = لافتة متحركةorigin/* = إشارتك المرجعية للمستودع البعيدHEAD = موقعك الحالي
  1. 1 إنشاء فرع

  2. 2 إجراء التغييرات

  3. 3 إنشاء pull request

  4. 4 معالجة تعليقات المراجعة

  5. 5 دمج الـ pull request

  6. 6 حذف فرعك