دریافت شاخه از گیتهاب — 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 pullخودکار از ریموت درست میگیردgit pushخودکار به ریموت درست میفرستدgit statusنشان میدهد جلوتر/عقبتر هستید:
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 fetchشاخههای جدید ریموت را دانلود میکندgit switch <نام>خودکار شاخه محلی tracking میسازد- شاخه tracking یعنی pull/push خودکار به ریموت درست
git statusوضعیت جلو/عقب بودن را نشان میدهد
این مبحث بخشی از دوره آموزش کامل Git است.