دریافت شاخه از گیت‌هاب — pull شاخه خاص

گرفتن شاخه‌ای که همکارتان به گیت‌هاب فرستاده: fetch، ساخت شاخه محلی و اتصال tracking.

سناریو: شاخه جدید در گیت‌هاب

همکارتان شاخه feature-login را ساخته و به گیت‌هاب push کرده. حالا شما می‌خواهید آن را روی سیستم خودتان داشته باشید. چه کار کنید؟

روش ۱: fetch + switch (پیشنهادی)

# ۱. دانلود همه شاخه‌های جدید ریموت:
git fetch origin

# ۲. دیدن شاخه‌های موجود:
git branch -r
# origin/feature-login  ← اینجاست!

# ۳. ساخت شاخه محلی از ریموت و رفتن به آن:
git switch feature-login
# Branch "feature-login" set up to track "origin/feature-login".
از گیت نسخه ۲.۲۳ به بعد، git switch خودکار می‌فهمد منظورتان شاخه ریموت است و شاخه محلی معادل می‌سازد — به این کار DWIM (Do What I Mean) می‌گویند!

روش ۲: checkout قدیمی

git fetch origin
git checkout feature-login

همان رفتار خودکار را دارد.

روش ۳: ساخت صریح با tracking دستی

git fetch origin
git switch -c feature-login origin/feature-login

یا با checkout:

git checkout -b feature-login origin/feature-login

مفهوم Tracking Branch

وقتی شاخه محلی شما به یک شاخه ریموت وصل (track) باشد:

git status
# On branch feature-login
# Your branch is behind "origin/feature-login" by 2 commits...
#   (use "git pull" to update your local branch)

به‌روزرسانی شاخه محلی موجود

اگر شاخه محلی را دارید و ریموت جلو رفته:

git switch feature-login
git pull

یکجا گرفتن همه‌چیز: pull با همه شاخه‌ها

# fetch همه شاخه‌ها + merge شاخه فعلی:
git pull --all

# بعد لیست شاخه‌های ریموت:
git branch -r

خلاصه

این مبحث بخشی از دوره آموزش کامل Git است.

ابزارهای مرتبط