
x32x01
أدارة أكتب كود
- بواسطة x32x01 ||

بس هل سألت نفسك: "إزاي الشركات الكبيرة بتنظم شغل التيم وتمنع تضارب الكود؟"
السر كله في حاجة اسمها Git Branching Strategy
وده بالضبط اللي هنتكلم عنه فى البوست ده


يعني إيه Git Branching Strategy؟
هي خطة عمل منظمة بيشتغل عليها الفريق داخل Git، الهدف منها:



Git Flow – للمشاريع الكبيرة متعددة الإصدارات
بيتكون من فرعين اساسيين هما main و develop و ثلاثة فرعيين هما:
– لإضافة ميزة جديدة
– يطلع من develop
– يندمج في develop

– لتحضير الإصدار بعد الانتهاء من كل الميزات
– يطلع من develop
– يندمج في main و develop

– لإصلاح عاجل بعد النشر
– يطلع من main
– يندمج في main

main: النسخة الجاهزة للإنتاج
develop: التطوير الجماعي
feature/: لكل ميزة جديدة
release/: لتحضير الإصدار
hotfix/: لإصلاحات الإنتاج
GitHub Flow – للأفكار البسيطة والنشر السريع

بتشبه ال git flow ولكن الفرق انه مفيش develop وكل ميزة بتطلع بفرع من ال main وتندمج عن طريق pull request تاني مع ال main بدون الحاجه الى فرع release
كل ميزة جديدة = فرع جديد
بعد الانتهاء: Pull Request → مراجعة → دمج في main

main: النسخة الجاهزة للإنتاج
feature/: لكل ميزة جديدة
hotfix/: لإصلاحات الإنتاج

Trunk-Based Development
سرعة + تكامل مستمر
من أبسط الطرق، وكتير من المبرمجين بدأوا بيها.
كل الشغل تقريبًا بيكون على فرع واحد: main أو trunk.
بتبدأ بنسخة من الريبو على GitHub، وتشتغل عليها محليًا.
التعديلات كلها بتكون Commits مباشرة على main.
أحيانًا بتعمل فرع feature/، بس بيكون قصير وبيتم دمجه بسرعة.
في الآخر، بتعمل push للكود على GitHub.

الاستراتيجية دي بتحتاج وجود CI قوي علشان يكتشف الأخطاء بسرعة لأن الكود بيتدمج على طول في main.
طب إزاي أختار الاستراتيجية المناسبة؟




اختيار Git Strategy مش رفاهية…
دي خطوة أساسية لو عايز تشتغل باحتراف، تنجز بسرعة، وتجنب الكوارث اللي بتحصل لما كود يتدمج بالغلط



