منو سایت

  • خانه
  • وبلاگ
  • نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

 تاریخ انتشار :
/
  وبلاگ
نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

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

در Git می توانید یک تگ را با استفاده از آن حذف کنید برچسب git -d دستور:

git tag -d <tag-name>

برای حذف تگ از مخزن راه دور، باید اجرا کنید git push – حذف مبدا <име-на-таг>

git push --delete origin <tag-name>

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

بیایید به آن بپریم!

حذف یک تگ محلی در Git

برای حذف یک تگ Git محلی، اجرا کنید تگ git فرمان با گزینه ای که به معنای حذف است.

git tag -d <tag-name>

یک مثال

بیایید یک مثال عینی از حذف یک برچسب را ببینیم.

در پروژه نمونه خود، من سه تگ دارم. بیایید برچسب ها را با لیست لیست کنیم تگ git دستور:

$ git tag
نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

حالا بیایید اولین تگ “v1.0” را با اجرای تگ git -d روی آن حذف کنیم:

$ git tag -d v1.0

حالا بیایید دوباره برچسب ها را لیست کنیم:

$ git tag
نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

اکنون برچسب نامیده می شود نسخه 1.0 ناپدید شده است. اما هنوز در مبدأ دور وجود دارد.

نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

بخش بعدی نحوه خلاص شدن از برچسب های راه دور را نیز نشان می دهد.

حذف یک تگ راه دور در Git

وقتی با تگ‌های Git کار می‌کنید، آن‌ها را مانند سایر تغییرات پروژه اضافه یا متعهد نمی‌کنید.

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

git push --delete origin <tag-name>

این یک برچسب را با <име-таг> از مخزن راه دور اما توجه داشته باشید که این دستور به طور خاص تگ ها را هدف قرار نمی دهد. شما می توانید این دستور را برای حذف یک شاخه از راه دور نیز اجرا کنید.

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

در این مورد (و در موارد دیگر) استفاده از این دستور برای حذف تگ های راه دور منطقی تر است:

git push origin :refs/tags/<tag>

به این ترتیب نمی‌توانید به‌طور تصادفی یک شاخه را حذف کنید یا زمانی که شاخه همنام یک برچسب است، خطا دریافت کنید.

مثال 1: حذف یک برچسب از کنترل از راه دور

بیایید یک مثال عینی برای حمایت از درک ببینیم.

در اینجا تگ های راه دور پروژه نمونه Git من آمده است:

نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

همچنین می توانید با اجرای دستور زیر آنها را مشاهده کنید:

$ git ls-remote -t origin
نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

حالا بیایید خلاص شویم نسخه 1.0 برچسب در مخزن از راه دور:

$ git push --delete origin v1.0
To https://github.com/artturijalli/exampleProject.git
 - [deleted]         v1.0

این تگ را حذف می کند نسخه 1.0 از راه دور

نحوه حذف تگ های گیت از راه دور و محلی (راهنمای قطعی)

مثال 2: حذف برچسبی با همان نام یک شاخه

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

در مورد من، من یک برچسب به نام دارم ویژگی و به اصطلاح شاخه ویژگی.

بیایید این مورد را با بررسی آنچه در کنترل از راه دور وجود دارد بررسی کنیم:

 $ git ls-remote      
From https://github.com/artturijalli/exampleProject.git
42442b0f66b992b06c004af2ac41578d49a45e10	HEAD
8772787ba8f708756214e9703629cd127d67debd	refs/heads/feature
42442b0f66b992b06c004af2ac41578d49a45e10	refs/heads/main
42442b0f66b992b06c004af2ac41578d49a45e10	refs/heads/new-code-changes
6b5c8ad92df253f42c56cc8aba296ae194ccf0a1	refs/pull/1/head
42442b0f66b992b06c004af2ac41578d49a45e10	refs/tags/feature
3448575bb8d0779aa3f459c45503827456f87bba	refs/tags/v2.0
3448575bb8d0779aa3f459c45503827456f87bba	refs/tags/v3.0

آرefs/tags/ویژگی به این معنی است که یک برچسب به نام وجود دارد ویژگی. را refs/heads/feature یعنی شاخه ای به نام وجود دارد ویژگی همچنین.

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

 $ git push --delete origin feature 
error: dst refspec feature matches more than one
error: failed to push some refs to 'https://github.com/artturijalli/exampleProject.git'

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

در این مورد، اجازه دهید برچسب را با گزینه دیگر حذف کنیم git push دستوری که قبلا یاد گرفتید:

 $ git push origin :refs/tags/feature 
To https://github.com/artturijalli/exampleProject.git
 - [deleted]         feature

حالا حذف با موفقیت انجام شد!

خلاصه

امروز یاد گرفتید که چگونه برچسب ها را در Git حذف کنید.

برای بردن به خانه می توانید استفاده کنید برچسب git -d <етикет> دستور حذف یک تگ محلی برای حذف یک برچسب راه دور، استفاده کنید git push origin :refs/tags/ فرمان

با تشکر برای خواندن. کد نویسی مبارک!

همچنین بخوانید

نحوه حذف فایل در Git