Git Linux Workflows: من feature branch إلى merge آمن
Git commands وحدها لا تكفي، المهم هو طريقة العمل الجماعي حولها.
في هذا الدرس ستتعلم أشهر Workflows في Git وكيف تختار المناسب لفريقك على Linux.
لماذا نحتاج Git Workflow واضح؟
- تقليل التعارضات بين المطورين
- تحسين جودة المراجعة قبل الدمج
- تتبع التغييرات والإصدارات بسهولة
Feature Branch Workflow (الأكثر شيوعًا)
الفكرة:
- كل ميزة أو bugfix في branch مستقل
- فتح Pull Request للمراجعة
- دمج في
mainبعد الموافقة والاختبارات
git checkout main
git pull origin main
git checkout -b feature/login-api
# commits...
git push -u origin feature/login-api
Git Flow (مناسب للمشاريع ذات إصدارات رسمية)
main: نسخ مستقرة للإنتاجdevelop: التطوير المستمر- فروع
featureوreleaseوhotfix
قوي لكنه أثقل من اللازم أحيانًا للفرق الصغيرة.
Trunk-Based Development (نهج سريع)
- فروع قصيرة جدًا
- دمج متكرر في branch رئيسي
- يعتمد بشدة على اختبارات CI قوية
مناسب للفرق الناضجة التي لديها أتمتة عالية.
Merge vs Rebase في Workflow اليومي
| الأمر | المزايا | متى يستخدم غالبًا |
|---|---|---|
merge |
يحافظ على التاريخ الحقيقي للفروع | دمج PR في main |
rebase |
تاريخ أنظف وخطي | تحديث branch محلي قبل PR |
Workflow عملي قبل فتح Pull Request
git fetch origin
git rebase origin/main
git status
git push --force-with-lease
--force-with-lease أكثر أمانًا من force العادي عند إعادة كتابة تاريخ branch الخاص بك.
كتابة Commits واضحة (Conventional style مبسط)
feat: add login rate limiter
fix: handle null user profile
docs: update deployment steps
الرسائل الواضحة تساعد المراجعة والتتبع والإصدارات.
Hotfix Workflow لإصلاحات الإنتاج
git checkout main
git pull origin main
git checkout -b hotfix/critical-500-error
# fix + test
git push -u origin hotfix/critical-500-error
بعد الدمج، أنشئ tag للإصدار الجديد وحدث changelog.
أفضل ممارسات Git Teams على Linux
- حافظ على branches قصيرة العمر
- لا تدفع مباشرة إلى main
- اربط كل PR باختبارات CI
- راجع الكود قبل الدمج دائمًا
تمرين عملي: Feature Branch إلى Merge
git checkout main
git pull origin main
git checkout -b feature/add-health-endpoint
# عدل الملفات + commit
git push -u origin feature/add-health-endpoint
# افتح PR ثم merge بعد المراجعة
إذا نفذت هذا التسلسل عدة مرات، سيصبح workflow جزءًا طبيعيًا من عملك اليومي.
FAQ: أسئلة شائعة حول Git Linux Workflows
ما أفضل Git workflow للمبتدئ؟
غالبا Feature Branch Workflow هو الأنسب للمبتدئ لأنه واضح: branch لكل ميزة ثم PR ثم merge إلى main.
ما الفرق بين merge وrebase في Git؟
merge يحافظ على تاريخ الفروع كما هو، بينما rebase يعيد ترتيب التاريخ ليبدو خطيًا وأنظف.
كيف أتعامل مع hotfix في الإنتاج؟
أنشئ branch سريع من main للإصلاح، اختبره، ثم merge وtag للنسخة الجديدة مع نشر فوري ومدروس.