مقدمة
Git مش بس Commit و Push. لما بتشتغل مع فريق، لازم يكون عندكم نظام واضح لإدارة الكود. Git Flow هو نظام مجرب ومعمول بيه في أكبر الشركات.
الـ Branches الأساسية
main: الكود الـ Production — لا أحد يـ Push عليه مباشرةdevelop: آخر كود تم اختباره وجاهز للـ Releasefeature/xxx: كل Feature جديدة في Branch مستقلhotfix/xxx: إصلاح عاجل مباشرة من main
Workflow اليومي
git checkout develop
git pull origin develop
git checkout -b feature/user-authentication
# اشتغل... commit... ثم
git push origin feature/user-authentication
# افتح Pull Request من feature -> develop
# بعد Code Review -> Merge
Commit Messages احترافية
feat: add user authentication with Sanctum
fix: resolve N+1 query in posts controller
docs: update API documentation
refactor: extract payment logic to service class
Code Review
قبل ما أي كود يدخل الـ develop لازم يمر على Code Review:
- تأكد الكود بيشتغل وما فيهوش Bugs واضحة
- تأكد إن الكود اتفع بـ Tests
- تأكد إن الكود واضح ومفهوم
- تأكد إن ما فيهوش Security Issues
حل Conflicts
git checkout develop
git pull origin develop
git checkout feature/my-feature
git merge develop
# حل الـ Conflicts يدوياً
git add .
git commit -m "merge: resolve conflicts with develop"
Git Flow لما بتطبقه صح بيوفر على الفريق الكثير من الوقت ويمنع المشاكل قبل ما تحصل.