کار با شاخهها در گیتهاب
مدیریت شاخهها در محیط وب گیتهاب: دیدن، مقایسه و ساخت Pull Request سریع از خود مرورگر.
شاخهها در محیط گیتهاب
شاخهها فقط مخصوص ترمینال نیستند! گیتهاب ابزارهای وب کاملی برای دیدن، مقایسه و ادغام شاخهها دارد.
دیدن شاخههای مخزن
- وارد مخزن شوید
- روی دکمه منوی شاخهها (که نام شاخه فعلی رویش نوشته، معمولاً main) کلیک کنید
- لیست همه شاخهها باز میشود + باکس جستجو
تبهای مفید در این صفحه:
- Branches: همه شاخههای فعال
- Active / Stale / All: شاخههای فعال / قدیمی / همه
مقایسه شاخهها (Compare)
یکی از قویترین قابلیتهای گیتهاب — آدرس مقایسه به این شکل است:
https://github.com/user/repo/compare/main...feature-search
یا از رابط:
- روی Branches بروید
- کنار هر شاخه، دکمه New pull request هست
- صفحه مقایسه باز میشود: چند کامیت تفاوت؟ چه فایلهایی تغییر کرده؟
در صفحه Compare میبینید:
- Commits: لیست کامیتهای متفاوت
- Files changed: تفاوت خطبهخط (سبز = اضافه، قرمز = حذف)
حذف شاخه بعد از merge در وب
بعد از merge یک Pull Request، گیتهاب دکمه Delete branch نشان میدهد — با یک کلیک شاخه ریموت حذف میشود!
حذف شاخه ریموت امن است — کامیتهایش در main زندهاند. فقط یادتان باشد شاخه محلی معادلش را هم حذف کنید.
محافظت از شاخه main (Branch Protection)
در پروژههای تیمی، میتوانید قوانینی برای main تعیین کنید تا کسی مستقیم خرابش نکند:
- Settings → Branches
- Add branch protection rule
- قوانین رایج:
- ✅ Require a pull request before merging (merge فقط از طریق PR)
- ✅ Require approvals (حداقل یک تأیید از بازبین)
- ✅ Dismiss stale approvals (تغییر جدید = تأیید قبلی باطل)
همگامسازی شاخههای محلی با ریموت
# دیدن شاخههای ریموت:
git branch -r
# origin/main
# origin/feature-search
# دیدن همه (محلی + ریموت):
git branch -a
# پاکسازی شاخههای ریموتِ حذفشده:
git fetch --prune
# یا کوتاه:
git fetch -p
بعد از حذف شاخه در گیتهاب، مخزن محلی هنوز آن را در لیست ریموت نشان میدهد.
git fetch -p این لیست را تمیز میکند.خلاصه
- منوی شاخهها در گیتهاب = دیدن و جستجوی همه شاخهها
- Compare = مقایسه دو شاخه بدون ترمینال
- Branch Protection = قوانین محافظت از main در تیم
git fetch -pشاخههای ریموت حذفشده را پاک میکند
این مبحث بخشی از دوره آموزش کامل Git است.