خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چگونه یک Branch را در Git به صورت محلی و از راه دور حذف کنیم

دلایل مختلفی وجود دارد که چرا ممکن است یک شعبه را در GitHub حذف کنید. خوشبختانه، حذف یک شاخه Git آسان است.

تعاریف کلیدی

  • حذف شاخه ها بخش مهمی از یک گردش کاری معمولی Git است.
  • شما می توانید یک شاخه محلی را با استفاده از دستور “git branch -d [branchname] حذف کنید، اما مراقب تغییرات ادغام نشده باشید.
  • ابزارهای مختلفی مانند GitHub Desktop، GitKraken، Tower و Bitbucket روش های خاص خود را برای حذف شاخه ها دارند، بنابراین خود را با فرآیند خاص هر ابزار آشنا کنید.

شاخه های Git به قدری سبک هستند که هر زمان که نیاز داشته باشید می توانید آنها را ایجاد کنید. اما به راحتی می توان با شاخه های باقی مانده ای که دیگر به آن ها نیاز ندارید، دست یافت. بنابراین حذف یک شعبه چه چیزی را شامل می شود؟

چرا یک شعبه را حذف کنیم؟

ابتدا، اگر هنوز در حال یادگیری نحوه ساخت یک پروژه با استفاده از شاخه های git هستید، شانس بسیار خوبی وجود دارد که یک شاخه ایجاد کنید و سپس تصمیم بگیرید که نیازی به این کار ندارید. این خوب است زیرا انشعاب یک عملیات سبک وزن است. بسیار سریع است و از فضای دیسک به طور موثر استفاده می کند.

در نتیجه، بسیاری از گردش‌های کاری توسعه git، انشعاب را تشویق می‌کنند، حتی برای کارهای بسیار کوچک یا کوتاه. به عنوان مثال، یک استراتژی متداول این است که یک شاخه جداگانه برای هر رفع اشکال ایجاد کنید.

حذف شاخه ها باید به همان اندازه که ایجاد آنها بخشی از جریان کاری روزمره شما باشد.

مخزن نمونه با شعبه

مثال های زیر به یک مخزن نمونه با ساختار زیر اشاره دارد:

لیستی از شاخه های git که دو محلی و سه راه دور را نشان می دهد

توجه داشته باشید که مخزن دارای دو شاخه اصلی و توسعه است. هر یک از این شاخه های محلی یک شعبه ردیابی هستند، با یک شاخه بالادستی مربوطه در یک سرور راه دور (منبع).

از دست دادن ردیابی شاخه ها آسان است، بنابراین مطمئن شوید که چگونه شاخه های git را از خط فرمان فهرست کنید یا آنها را در کلاینت دلخواه خود مشاهده کنید.

مطلب مرتبط:   6 دلیل که ممکن است بخواهید توسعه بلاک چین را یاد بگیرید

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

دستور اصلی برای حذف یک شاخه به صورت زیر است:

git branch (-d | -D) [-r] <branchname>...

چگونه یک شعبه محلی را حذف کنیم

ساده‌ترین شکل دستور، یک شاخه محلی را حذف می‌کند، به شرطی که تمام تغییرات آن ادغام شده باشد:

git branch -d dev

وقتی همه چیز درست شد، یک پیام تأیید خواهید دید:

خط فرمانی که حذف شاخه git را با استفاده از

شما نمی توانید شاخه ای را که در حال حاضر فعال است حذف کنید. اگر سعی کنید این کار را انجام دهید، پیامی مانند این دریافت خواهید کرد:

یک پیام خطای git که توضیح می دهد که شاخه اصلی حذف نمی شود

اگر یک شعبه محلی را با تغییرات ادغام نشده و بدون فشار حذف کنید، این تغییرات را از دست خواهید داد. بنابراین، git به طور پیش فرض از حذف چنین شاخه ای خودداری می کند. در این مثال، dev تغییراتی را که به شاخه راه دور منتقل نشده اند، از هم ادغام کرده است:

یک پیام خطای git که توضیح می دهد که یک شاخه ادغام نشده را نمی توان حذف کرد

همانطور که پیام خطا می گوید، می توانید با پرچم -D حذف را مجبور کنید.

اگر شعبه راه دور مربوطه به روز باشد، حتی اگر ادغام نشده باشد، می توانید یک شاخه ردیابی محلی را حذف کنید. Git همچنان یک اخطار نشان می‌دهد، بنابراین از اتفاقی که افتاده آگاه هستید:

یک پیغام خطای git که توضیح می دهد که شاخه حذف شده با کنترل از راه دور ادغام شده است، اما نه HEAD.

چگونه یک شعبه از راه دور را حذف کنیم

حذف یک شاخه از راه دور کاملاً متفاوت است. از دستور git push به همراه پرچم -d برای حذف استفاده خواهید کرد. پس از آن، نام کنترل از راه دور (اغلب مبدا) و نام شعبه را وارد کنید:

خط فرمان git یک شاخه از راه دور را حذف می کند.

حذف شعبه های محلی و راه دور با دسکتاپ GitHub

برخلاف برنامه git خط فرمان، برنامه دسکتاپ GitHub فقط به شما اجازه می دهد شاخه فعال را حذف کنید. این عمل را می توانید از طریق منوی Branch با انتخاب گزینه Delete و تایید آن انجام دهید:

اسکرین شات نحوه حذف یک شاخه با استفاده از دسکتاپ GitHub را نشان می دهد

دسکتاپ GitHub به شما اجازه نمی دهد شعبه پیش فرض را حذف کنید – به عنوان مثال. main—اگرچه خود git این را پشتیبانی می کند. اگر شاخه پیش‌فرض شاخه‌ای است که در حال حاضر فعال است، برنامه عملکرد منو را غیرفعال می‌کند.

مطلب مرتبط:   چگونه برنامه جنگو خود را به صورت رایگان در Vercel میزبانی کنیم

اگر شعبه یک شاخه راه دور را نیز نشان دهد، GitHub Desktop این گزینه را می دهد که آن را از کنترل از راه دور نیز حذف کند:

یک اسکرین شات که یک شاخه راه دور در حال حذف در دسکتاپ GitHub را نشان می دهد

حذف شاخه ها با استفاده از GitKraken

GitKraken شاخه های محلی و راه دور مخزن شما را در نوار کناری سمت چپ نمایش می دهد. شما باید هر کدام را جداگانه حذف کنید.

ماوس را روی نام شاخه مناسب نگه دارید و روی منوی اقدامات شعبه کلیک کنید که شبیه سه نقطه عمودی است. از منو، Delete را انتخاب کنید:

حذف یک شعبه محلی با استفاده از GitKraken

یک پیام تأیید می بینید که به شما اطلاع می دهد که این یک عملیات مخرب است. می‌توانید با دکمه Delete تأیید کنید که می‌خواهید ادامه دهید:

تصویری از GitKraken که هشداری را هنگام تلاش برای حذف یک شاخه نشان می دهد

با انعکاس رفتار پیش‌فرض برنامه خط فرمان git، ابتدا باید به شعبه‌ای غیر از شاخه‌ای که در حال حذف آن هستید بروید. در غیر این صورت، یک پیغام خطا مشاهده خواهید کرد:

تصویری از GitKraken که خطا را هنگام تلاش برای حذف شاخه فعلی نشان می دهد

حذف شعبه های محلی و راه دور با استفاده از Tower

حذف شعبه با Tower بسیار شبیه به حذف شاخه با GitKraken است. این برنامه شاخه های محلی و راه دور را در یک پانل در سمت چپ نمایش می دهد. روی هر شاخه کلیک راست کرده و گزینه Delete را از منوی زمینه انتخاب کنید:

اسکرین شات نحوه حذف یک شعبه محلی در برج را نشان می دهد

یک تفاوت کلیدی این است که می توانید یک شعبه راه دور را به همراه شعبه محلی آن در حین تأیید حذف کنید:

اسکرین شات که دیالوگ تایید را در برج هنگام حذف شعبه نشان می دهد

حذف یک شعبه در GitHub

GitHub فقط به عنوان یک منبع راه دور عمل می کند، بنابراین شاخه های آنجا به طور پیش فرض از راه دور هستند. اگر شعبه‌ای را با استفاده از وب‌سایت GitHub حذف کنید، باید شعبه محلی مربوطه را با استفاده از یکی از روش‌های دیگر در اینجا حذف کنید.

همانند برنامه دسکتاپ GitHub، وب سایت GitHub به شما اجازه حذف شعبه پیش فرض را نمی دهد. اگر امتحان کنید، یک پیغام خطایی خواهید دید:

مطلب مرتبط:   نحوه ساخت فرم های قابل استفاده مجدد در Vue3 با FormKit

یک پیام خطای GitHub که توضیح می دهد که نمی توانید شاخه پیش فرض را حذف کنید.

با این حال، حذف هر شاخه دیگری ساده است. از صفحه کد مخزن، روی پیوند شاخه ها کلیک کنید، شعبه مورد نظر را برای حذف پیدا کنید، سپس روی نماد حذف شاخه کلیک کنید، که شبیه سطل زباله است:

تصویری از صفحه شعبه ها در GitHub

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

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

تصویری از GitHub که اثرات حذف شدن یک شاخه را نشان می دهد

حذف شعبه های محلی و راه دور در Bitbucket

Bitbucket مانند GitHub به شما اجازه حذف شاخه پیش فرض را نمی دهد. Bitbucket این را شاخه اصلی در تنظیمات مخزن می نامد. می توانید هر شاخه دیگری را که در برگه شاخه ها فهرست شده است، از طریق منوی اقدامات مربوطه حذف کنید:

یک اسکرین شات که منوی Branch Actions را در Bitbucket نشان می دهد

همچنین اگر در حال انجام یک عملیات پاکسازی بزرگ هستید، می توانید بیش از یک شعبه را همزمان حذف کنید:

یک اسکرین شات که نشان می دهد چندین شاخه در حال حذف در Bitbucket هستند

حذف شاخه ها بخشی از یک گردش کاری Git معمولی است

شاخه‌های Git می‌توانند گردش کار شما را پیچیده کنند، به‌ویژه شاخه‌های محلی، راه دور و ردیابی. اما برای توسعه ساده روزمره، احتمالاً همیشه در حال ایجاد و حذف شعب محلی هستید. این یکی از جنبه های اصلی یک گردش کار git معمولی است که باید به آن عادت کنید.

اگر برایتان سخت است که دقیقاً چگونه یک شاخه را به خاطر بسپارید، به تنظیم نام مستعار برای حذف شاخه ها و به سادگی این فرآیند را در نظر بگیرید.