درخواستهای تغییر (Pull Requests)
درخواست تغییر (PR) روشی برای پیشنهاد تغییرات به مخزن است. به شما اجازه میدهد دیگران را از تغییراتی که push کردهاید مطلع کنید و قبل از merge درخواست بررسی کنید.
گردش کار
۱. ایجاد Branch
git checkout -b feature/my-new-feature
۲. ایجاد تغییرات
کد خود را ویرایش و commit کنید:
git add .
git commit -m "افزودن ویژگی جدید"
git push origin feature/my-new-feature
۳. باز کردن درخواست تغییر
- به مخزن بروید
- روی "درخواستهای تغییر" → "درخواست تغییر جدید" کلیک کنید
- انتخاب کنید:
- Branch پایه: Branch که میخواهید merge شود (مثل
main)
- Branch مقایسه: Branch ویژگی شما (مثل
feature/my-new-feature)
- پر کنید:
- عنوان: عنوان واضح و توصیفی
- توضیحات: چه چیزی و چرا تغییر میدهید
- روی "ایجاد درخواست تغییر" کلیک کنید
ویژگیهای درخواست تغییر
بررسی کد
بررسیکنندگان میتوانند:
- Diff ها را ببینند: تمام تغییرات را مشاهده کنند
- کامنت بگذارند: کامنتهای عمومی یا درونخطی بگذارند
- درخواست تغییر کنند: درخواست اصلاحات کنند
- تأیید کنند: تغییرات را بپذیرند
مکالمه
- درباره تغییرات پیشنهادی بحث کنید
- سوال بپرسید
- بازخورد ارائه دهید
- اعضای تیم را با
@username منشن کنید
بررسیها
- وضعیت CI/CD را مشاهده کنید
- تداخلهای merge را بررسی کنید
- تاریخچه commit را ببینید
گزینههای Merge
- Merge: ترکیب commit ها
- Squash و Merge: ترکیب تمام commit ها در یکی
- Rebase و Merge: Rebase commit ها روی branch پایه
بهترین شیوهها
برای نویسندگان
- ✅ PR ها را کوچک و متمرکز نگه دارید
- ✅ توضیحات واضح بنویسید
- ✅ برای تغییرات UI اسکرینشات اضافه کنید
- ✅ مسائل مرتبط را لینک کنید
- ✅ به بازخورد بررسی پاسخ دهید
- ✅ در صورت نیاز branch خود را بهروز کنید
برای بررسیکنندگان
- ✅ سریع بررسی کنید
- ✅ سازنده و محترمانه باشید
- ✅ در صورت نیاز تغییرات را محلی تست کنید
- ✅ برای کد خاص از کامنتهای درونخطی استفاده کنید
- ✅ وقتی راضی هستید تأیید کنید
- ✅ وقتی لازم است درخواست تغییر کنید
حل تداخلها
اگر تداخل merge وجود دارد:
# دریافت آخرین تغییرات
git fetch origin
# Rebase branch خود
git rebase origin/main
# حل تداخلها به صورت دستی
# ویرایش فایلهای تداخلی
# ادامه rebase
git add .
git rebase --continue
# Push تغییرات
git push origin feature/my-new-feature --force
مدیریت درخواستهای تغییر
برچسبها
از برچسبها برای دستهبندی PR ها استفاده کنید:
bugfix - رفع یک باگ
enhancement - ویژگی جدید
documentation - بهروزرسانی مستندات
breaking - تغییرات شکستنده
wip - در حال انجام
نقاط عطف
PR ها را با مایلستونهای پروژه مرتبط کنید برای ردیابی پیشرفت.
تخصیصدهندگان
بررسیکنندگان و افراد مسئول را تخصیص دهید.
مراحل بعدی