Git Checkout Remote Branch – چگونه شعبه های راه دور را واکشی و فهرست کنیم
میتوانید از شاخهها در Git برای کار بر روی آپشن های مختلف بدون تأثیر بر پایگاه کد اصلی خود استفاده کنید. برای مثال، میتوانید با یک طرحبندی جدید برای صفحه وب خود در شاخهای دیگر، بدون تأثیر بر شاخه اصلی که وبسایت شما از آنجا مستقر میشود، آزمایش کنید.
شاخه ها برای اهداف مختلفی مانند توسعه ویژگی، رفع اشکال، نسخه سازی، آزمایش، مشارکت در پروژه های منبع باز و غیره استفاده می شوند.
در این مقاله، نحوه استفاده از دستورات مختلف Git را برای تعامل با شاخه های راه دور یاد خواهید گرفت.
چگونه شعبه های راه دور را واکشی و فهرست کنیم
من یک مخزن (repo) برای این مقاله با سه شاخه مختلف ایجاد کرده ام: main، feat/create-hobbies-list، و feat/create-language-list. می توانید مخزن را از اینجا دانلود کنید یا با استفاده از این دستور آن را در رایانه خود کلون کنید:
git clone https://github.com/ihechikara/git-branches-article.git
دستور بالا شاخه اصلی مخزن را در رایانه شما دانلود می کند.
با خیال راحت همراه با کدپایه/ مخزن Git خود را دنبال کنید.
نحوه فهرست کردن شاخه های راه دور
وقتی به مخزنی که به تازگی در GitHub شبیه سازی کرده اید نگاه می کنید، متوجه خواهید شد که سه شاخه وجود دارد.
اما وقتی دستور git branch
را اجرا می کنید، فقط فهرست ی از شاخه ها را در مخزن محلی دریافت خواهید کرد. در مورد ما، آن شاخه اصلی است. این به چند دلیل اتفاق می افتد:
دستور git branch
فقط شاخه های محلی را نشان می دهد.
شبیه سازی یک شعبه به طور خودکار همه شاخه های دیگر را در مخزن راه دور دانلود نمی کند.
پس چگونه شاخه های راه دور را فهرست می کنید؟ می توانید این کار را با استفاده از دستور git branch -r
انجام دهید:
git branch -r origin/HEAD -> origin/main origin/feat/create-hobbies-list origin/feat/create-language-list origin/main
از خروجی فرمان بالا، می توانید تمام شاخه های موجود در مخزن از راه دور را ببینید. شاخه اصلی که به عنوان شاخه پیش فرض (origin/HEAD) نیز عمل می کند و دو شاخه دیگر: feat/create-hobbies-list و feat/create-language-list.
اکنون که میدانید چگونه شاخههای راه دور را فهرست کنید، بیایید ببینیم چگونه آنها را به صورت محلی واکشی و روی آنها کار کنیم.
چگونه شعبه های راه دور را واکشی کنیم
شما می توانید به دلایل مختلف مانند تحلیل کد، به روز رسانی مخزن محلی خود با تغییرات ایجاد شده در مخزن از راه دور، آزمایش و غیره، شاخه های راه دور را واکشی کنید.
نحوه واکشی شاخه های از راه دور با استفاده از git fetch
شما می توانید از دستور git fetch
برای "واکشی" تغییرات اخیر ایجاد شده در مخزن راه دور بدون ادغام آنها در مخزن محلی خود استفاده کنید.
برای مثال، فرض کنید تغییرات جدید به شاخه feat/create-language-list اعمال شده است. هنگامی که دستور git fetch
را اجرا می کنید، Git تغییرات جدید را در مخزن راه دور بازیابی می کند اما شما آنها را در شعبه/مخزن محلی من نخواهید دید.
سپس می توانید از دستوراتی مانند git diff
و git log
برای مقایسه تغییرات استفاده کنید.
در مواردی که از تغییرات راضی هستید، می توانید از دستور git merge
برای ادغام آن تغییرات در شعبه محلی خود استفاده کنید. در این مرحله، تغییرات از شاخه راه دور به صورت محلی قابل مشاهده/دیدن خواهد بود.
git checkout feat/create-language-list
دستور بالا به شاخه feat/create-language-list سوئیچ می کند.
git fetch
دستور بالا تغییرات فعلی ایجاد شده در شعبه راه دور را که در شعبه محلی شما نیست، بازیابی می کند.
git diff feat/create-language-list origin/feat/create-language-list
دستور بالا تغییراتی را که به تازگی واکشی کرده اید با شعبه محلی شما مقایسه می کند. در ترمینال، کاراکترهای قرمز نشان دهنده وضعیت شاخه محلی شما هستند در حالی که کاراکترهای سبز نشان دهنده تغییرات جدید از شاخه راه دور هستند. به این معنا که:
از شاخه راه دور را نشان می دهد" class="image--center mx-auto" width="502" height="466" loading="lazy">
git merge
دستور بالا تغییرات را در شعبه محلی شما ادغام می کند. در این صورت فایل languages.txt با تغییرات جدید آپدیت می شود.
به طور خلاصه، git fetch
تغییرات را بازیابی می کند در حالی که git merge
تغییرات را در شعبه محلی شما ادغام می کند.
نحوه واکشی شاخه های از راه دور با استفاده از git pull
دستور git pull
مشابه git fetch
و git merge
است.
تفاوت این است که git pull
به طور خودکار تغییرات جدید را در شعبه محلی شما ادغام می کند. یعنی قبل از ادغام نمیتوانید تغییرات را مقایسه کنید (شانس اجرای git diff
را نخواهید داشت).
git pull
هر دو git fetch
و git merge
را به طور همزمان اجرا می کند.
پس هنگامی که دستور git pull
را اجرا می کنید، اگر تداخل ادغام وجود نداشته باشد، تغییرات از راه دور به صورت محلی ظاهر می شوند.
نتیجه
در این مقاله یاد گرفتید که چگونه شاخه های راه دور را با استفاده از دستور git branch -r
فهرست کنید.
شما همچنین یاد گرفتید که چگونه شاخه های راه دور را واکشی کنید. دستور git fetch
تغییرات را از شاخه راه دور واکشی می کند در حالی که دستور git merge
تغییرات از راه دور را با شاخه محلی شما ادغام می کند. این فرآیند به شما این فرصت را می دهد که تغییرات را قبل از ادغام آنها مقایسه کنید.
از سوی دیگر، فرمان git pull
به طور خودکار تغییرات را از یک شاخه راه دور تا زمانی که هیچ تضاد ادغامی وجود نداشته باشد، واکشی و ادغام می کند.
کد نویسی مبارک!
ارسال نظر