بهترین شیوههای گیت برای تیمهای بزرگ و پروژههای سازمانی
نمای کلی
این مجموعه بهترین شیوهها مخصوص تیمهای بزرگ، سازمانی و پروژههای طولانیمدت است.
۱. استفاده از برنچهای محافظتشده
- Main همیشه قابل استقرار است
- Feature Branch باید کوتاهعمر باشد
- برنچ Develop در تیمهای بسیار بزرگ مفید است
۲. GitFlow فقط زمانی که لازم است
- اپلیکیشنهای بزرگ سازمانی ✔
- مایکروسرویسها ✘ — بهتر است Trunk Based باشد
- اپ موبایل ✔
۱. کامیتهای اتمیک و قابل بازگشت
- هر کامیت یک تغییر مستقل
- قابل برگشت بدون عارضه
- بر اساس Conventional Commits
۲. جلوگیری از نویز
- فرمت و کد در کامیت جداگانه
- عدم کامیت فایلهای build و log
- هوک pre-commit برای lint
۱. PR باید کوچک باشد
- حداکثر ۳۰۰ خط تفاوت
- قابل بررسی در ۱۰ دقیقه
۲. قوانین Review
- حداقل ۲ تأیید
- عدم Merge خودکار
- CI باید سبز باشد
- وجود کامنت جدید = بلاک Merge
۳. قالب PR استاندارد
- What / Why / Tests / Risk
- لینک تیکت Jira الزامی
۱. نسخهگذاری Semantic
MAJOR.MINOR.PATCH
۲. Tag کردن نسخه
- فقط از برنچ Main
- Hotfix از برنچ Release
۳. انتشار خودکار
- CI نسخه را بر اساس نوع کامیت بالا میبرد
- تولید Changelog خودکار
۱. Monorepo حرفهای
- استفاده از submodule
- استفاده از worktree برای توسعه موازی
- استفاده از CODEOWNERS
۲. ساختار پوشهها
- /src
- /tests
- /docs
- /scripts
- /infra