در این درس میبینیم که بهصورت پیشفرض، repositoryهای ایجاد شده در Forgejo محافظت نمیشوند و هر گونه تغییر، چه عمدی و چه سهوی، امکانپذیر است.
سپس شاخه اصلی Repository یعنی main را محافظت میکنیم بهطوری که هر تغییری باید در قالب یک Pull Request ارائه شود و حداقل یک نفر دیگر آن را بررسی و تایید کند.
هر تغییر جدید در قالب یک branch جدید در repository ذخیره میشود و شاخه اصلی تحت تأثیر قرار نمیگیرد. پس از بررسی و تأیید تغییرات، امکان دارد branch جدید با شاخه اصلی merge شود و تغییرات در شاخه اصلی اعمال شود.
معمولاً برای بررسی تغییرات، workflowهای اتوماتیک نوشته میشوند که تغییرات را از روشهای مختلف بررسی و تست میکنند تا مطمئن شویم پس از اعمال آنها به شاخه اصلی، هیچگونه مشکلی ایجاد نخواهد شد.
مواردی که در این درس بحث و پیادهسازی میشوند عبارتند از
- ایجاد محافظت برای شاخه اصلی (main) در Repository
- ارائه تغییرات در قالب Pull Request
- بررسی و تأیید تغییرات توسط دیگر اعضای تیم
- ایجاد و استفاده از branchهای جدید برای تغییرات بدون تأثیر روی شاخه اصلی
- ادغام (merge) تغییرات پس از بررسی و تأیید
