GitHub Flow — جریان کاری مدرن با Pull Request
جریان کاری رسمی گیتهاب: شاخه → کامیت → Pull Request → بازبینی → merge — قدمبهقدم کامل.
GitHub Flow چیست؟
GitHub Flow جریان کاری سبک و مدرنی است که خود گیتهاب پیشنهاد میکند — بر پایه Pull Request. در مبحث ۱۷ با آن آشنا شدید؛ حالا آن را با جزئیات کامل و در محیط واقعی گیتهاب اجرا میکنیم.
۶ قدم GitHub Flow
- شاخه بسازید — از main و برای یک کار مشخص
- کامیت کنید — تغییرات کوچک و مکرر با پیام خوب
- Pull Request باز کنید — توضیح دهید چه کردید و چرا
- بحث و بازبینی — تیم نظر میدهد، کد بهتر میشود
- Merge کنید — بعد از تأیید، به main بپیوندید
- Deploy کنید — main همیشه قابل انتشار است
اجرا در عمل — قدمبهقدم
قدم ۱ و ۲: شاخه و کامیت (ترمینال)
git switch main
git pull origin main
git switch -c feature/contact-form
# ... کد زدن ...
git add .
git commit -m "افزودن فرم تماس با ما"
git push -u origin feature/contact-form
قدم ۳: ساخت Pull Request (گیتهاب)
- وارد مخزن شوید — گیتهاب بنر زرد «Compare & pull request» نشان میدهد — کلیک کنید
- فرم PR را پر کنید:
- Title: عنوان کوتاه (مثل پیام کامیت)
- Description: چه کردید؟ چرا؟ چطور تست شود؟
- Reviewers: چه کسی بازبینی کند؟
قدم ۴: بازبینی (Review)
بازبین کد شما را خطبهخط میبیند و میتواند:
- Comment: نظر عمومی بدهد
- Approve: تأیید کند ✅
- Request changes: تغییر بخواهد ❌
اگر تغییر خواست، روی همان شاخه کامیت و push کنید — PR خودکار بهروز میشود!
قدم ۵: Merge
وقتی همه تأیید کردند، در صفحه PR یکی از سه دکمه merge:
| روش | توضیح | تاریخچه |
|---|---|---|
| Create a merge commit | کامیت merge معمولی | حفظ همهچیز + کامیت اضافه |
| Squash and merge | همه کامیتهای PR در یکی فشرده میشوند | تمیزترین برای main ⭐ |
| Rebase and merge | کامیتها روی main بازپخش میشوند | خطی بدون فشردهسازی |
بعد از merge، دکمه Delete branch را بزنید.
قدم ۶: همگامسازی محلی
git switch main
git pull origin main
git branch -d feature/contact-form
git fetch -p
چرا GitHub Flow اینقدر محبوب است؟
- سادگی: فقط main + شاخههای موقت — هیچ شاخه دائمی اضافهای نیست
- کیفیت: هیچ کدی بدون بازبینی وارد main نمیشود
- مستندسازی: هر PR یک صفحه بحث و توضیح است — تاریخچه پروژه زنده است
- انتشار مداوم: main همیشه سالم است، هر merge قابل deploy
خلاصه
- GitHub Flow = شاخه → PR → بازبینی → merge → deploy
- PR محل بحث تیم و تضمین کیفیت است
- Squash and merge تمیزترین روش برای main است
- main همیشه قابل انتشار بماند!
این مبحث بخشی از دوره آموزش کامل Git است.