بهترین شیوه‌های گیت برای تیم‌های بزرگ و پروژه‌های سازمانی

نمای کلی

این مجموعه بهترین شیوه‌ها مخصوص تیم‌های بزرگ، سازمانی و پروژه‌های طولانی‌مدت است.

۱. استفاده از برنچ‌های محافظت‌شده

  • 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