شاخه یا branch در گیت


در گیت (Git)، شاخه‌ها (Branches) ابزاری هستند برای مدیریت و ایجاد تغییرات در کد بدون تاثیر بر کد اصلی (یا شاخه main/master). این ویژگی به توسعه‌دهندگان اجازه می‌دهد تا به‌راحتی روی ویژگی‌ها، اصلاحات باگ، یا آزمایش‌های جدید کار کنند، در حالی که کد اصلی دست‌نخورده باقی می‌ماند.

شاخه یا branch چیست؟

برای کار با شاخه‌ها، می‌توانید از دستورات زیر استفاده کنید:

git

فرض کنید یکی از فایل های خود را تغییر داده و بعد از ذخیره کردن ، آن را به نام commit-1 کامیت می کنید

git

در این صورت مشابه شکل زیر این کامیت در git history قابل مشاهده خواهد بود:

git

به همین ترتیب فرض کنید فایل دیگری را تغییر داده و بعد از تغییر مجددا به نام commit-2 آن را کامیت کنیم

git

حال اگر مشابه شکل زیر به git history مراجعه نمایید خواهید دید کامیت دوم نیز در بالای کامیت اول اضافه شده است:

git

به همین ترتیب سومین تغییر را در یکی از فایل ها اعمال می کنیم و بعد از ذخیره کردن کامیت سوم را به نام commit-3 انجام می دهیم:

git

حال اگر مشابه شکل زیر به git history مراجعه نمایید خواهید دید کامیت سوم نیز در بالای کامیت دوم اضافه شده است:

git

در واقع از پشت سر هم قرار گرفتن چند commit در یک مخزن یک شاخه یا branch مطابق شکل زیر به وجود خواهد آمد :

git

نام شاخه اصلی گیت master می باشد و شاخه های فرعی توسط کاربر نام گذاری می شود مثلا اگر یک شاخه فرعی به نام branch-1 داشته باشیم به صورت شکل زیر خواهد بود:

git

شاخه هایی که توسط گیت ایجاد می کنید در قسمت git history به صورت زیر می باشند:

git

یک شاخه یا branch در واقع یک مخزن جدید و جدا از مخزن اصلی می باشد

git

هدف از ایجاد شاخه جدید چیست؟

همواره در زمان توسعه وب سایت خطاهایی رخ می دهد یا باگ هایی به وجود می آید که پروژه را دچار مشکل می کند و در بعضی مواقع تقریبا غیر قابل برگشت به قبل از خطا می باشد در این شرایط دو راه برای رفع آن خطا یا باگ وجود دارد یکی استفاده از بکاپ های قبل از خطا و دیگری استفاده از شاخه یا branch در گیت به این صورت که قبل از ایجاد تغییرات یک شاخه یا branch ایجاد می کنیم و به آن سوئیچ می کنیم، این در حالی است که این تغییرات در شاخه اصلی اعمال نمی شود و اگر بعد از اعمال تغییرات پروژه دچار مشکل شده بود این شاخه را نادیده گرفته یا حذف می کنیم و به شاخه اصلی یا مستر باز می گردیم بدون اینکه پروژه دچار مشکل شده باشد.