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

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

پیشنهاد می‌کنیم بخوانید:  اصول AWS برای DevOps – نحوه راه اندازی یک ماشین لینوکس

دستور git diff تغییرات بازیابی شده از شاخه راه دور را نشان می دهد

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 فرمان تغییرات از راه دور را در شعبه محلی شما ادغام می کند. این process به شما این فرصت را می دهد که تغییرات را قبل از ادغام آنها مقایسه کنید.

از سوی دیگر، git pull فرمان به طور خودکار تغییرات را از یک شاخه راه دور واکشی و ادغام می کند تا زمانی که تداخل ادغام وجود نداشته باشد.

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