متن خبر

Git Checkout Remote Branch – چگونه شعبه های راه دور را واکشی و فهرست کنیم

Git Checkout Remote Branch – چگونه شعبه های راه دور را واکشی و فهرست کنیم

شناسهٔ خبر: 468253 -




می‌توانید از شاخه‌ها در 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

دستور بالا تغییراتی را که به تازگی واکشی کرده اید با شعبه محلی شما مقایسه می کند. در ترمینال، کاراکترهای قرمز نشان دهنده وضعیت شاخه محلی شما هستند در حالی که کاراکترهای سبز نشان دهنده تغییرات جدید از شاخه راه دور هستند. به این معنا که:

دستور git diff تغییرات بازیابی شده <a href= از شاخه راه دور را نشان می دهد" 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 به طور خودکار تغییرات را از یک شاخه راه دور تا زمانی که هیچ تضاد ادغامی وجود نداشته باشد، واکشی و ادغام می کند.

کد نویسی مبارک!

خبرکاو

ارسال نظر




تبليغات ايهنا تبليغات ايهنا

تمامی حقوق مادی و معنوی این سایت متعلق به خبرکاو است و استفاده از مطالب با ذکر منبع بلامانع است