مدل برنچینگ بهینه (Git Flow)
🔹 Git Flow چیست؟
- یک روش ساختاریافته برای مدیریت شاخهها در پروژههای Git هست.
- کمک میکنه توسعه، تست و انتشار پروژه منظم و بدون خطا باشه.
- ایده اصلی: شاخهها هرکدام نقش مشخصی دارن و نسخهی پایدار همیشه محافظت میشه.
🔹 شاخههای اصلی در Git Flow
شاخه | نقش |
---|---|
main / master | نسخهی پایدار و نهایی پروژه، همیشه قابل انتشار. |
develop | شاخهی توسعه؛ همه ویژگیها و اصلاحات ابتدا اینجا اضافه میشن. |
feature | شاخهی مربوط به یک قابلیت یا وظیفهی جدید، از develop ساخته میشه و پس از تکمیل دوباره به develop merge میشه. |
release | شاخهای برای آمادهسازی نسخهی نهایی؛ رفع باگها و تست قبل از merge به main. |
hotfix | شاخهای برای اصلاح فوری باگها یا مشکلات امنیتی روی main، بدون انتظار برای انتشار بعدی. |
🔹 گردش کار کلی Git Flow
شروع توسعه یک قابلیت جدید:
git checkout develop git checkout -b feature/feature-name
تکمیل و ادغام feature:
git checkout develop git merge feature/feature-name git branch -d feature/feature-name
آمادهسازی نسخه انتشار (Release):
git checkout -b release/x.y develop git merge release/x.y main git tag -a x.y git checkout develop git merge release/x.y git branch -d release/x.y
رفع سریع باگها (Hotfix):
git checkout main git checkout -b hotfix/x.y.z git merge hotfix/x.y.z main git merge hotfix/x.y.z develop git branch -d hotfix/x.y.z
🔹 نکات کلیدی
- main همیشه پایدار است.
- develop شاخهی کاری روزمره تیم است.
- هر شاخهی Feature یا Hotfix باید مختصر و هدفمند باشد.
- با Git Flow، مدیریت پروژههای تیمی و انتشار نسخهها ساختاریافته و کمخطا میشود.