
در 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