Git tag’lar

Git tag’lar


ULASHISH

Tag’lar bilan ishlash uchun asosiy buyruqlar

  • git tag <tagname> - Yengil (lightweight) tag yaratish
  • git tag -a <tagname> -m "message" - Izohli (annotated) tag yaratish
  • git tag <tagname> <commit-hash> - Muayyan commit’ga tag qo‘yish
  • git tag - Tag’larni ro‘yxat qilish
  • git show <tagname> - Tag tafsilotlarini ko‘rsatish

Tag nima?

Git’dagi tag muayyan commit uchun yorliq yoki xatcho‘pga o‘xshaydi.

Tag’lar ko‘pincha loyiha tarixidagi muhim nuqtalarni, masalan, relizlarni (v1.0 yoki v2.0) belgilash uchun ishlatiladi.

Tag’lar versiyalarni kuzatib borish va ularni jamoangiz yoki foydalanuvchilaringiz bilan ulashishning oddiy va ishonchli usulidir.

Tag’larning ba’zi keng tarqalgan turlari:

  • Relizlar: Tag’lar loyihangiz relizga tayyor bo‘lgan paytni belgilash imkonini beradi, shunda siz (va boshqalar) keyinchalik aynan shu versiyani istalgan vaqtda topa olasiz.
  • Muhim bosqichlar: Katta funksiya tugallangani yoki xato tuzatilgani kabi muhim bosqichlarni ajratib ko‘rsatish uchun tag’lardan foydalaning.
  • Deploy qilish: Ko‘plab deploy vositalari kodingizning qaysi versiyasini deploy qilishni bilish uchun tag’lardan foydalanadi.
  • Tezkor tuzatishlar (hotfix): Agar eski versiyani tuzatishingiz kerak bo‘lsa, tag’lar kerakli kodga checkout qilib, uni tuzatishni osonlashtiradi.

Yengil (lightweight) tag yaratish

Yengil tag — bu shunchaki commit uchun nom.

U tez va oddiy, lekin qo‘shimcha ma’lumot saqlamaydi.

Izohli va yengil tag’lar

  • Izohli (annotated) tag: Muallif, sana va xabarni saqlaydi.
    Relizlar va boshqalar bilan ulashish uchun tavsiya etiladi.
  • Yengil (lightweight) tag: Commit uchun shunchaki oddiy nom (qo‘shimcha ma’lumotsiz, xatcho‘pga o‘xshaydi).

Misol

git tag v1.0


Izohli tag yaratish (-a -m)

Izohli tag ismingiz, sana va xabarni saqlaydi.

Bu ko‘pchilik holatlar uchun tavsiya etiladi.

Misol

git tag -a v1.0 -m "Version 1.0 release"

Muayyan commit’ga tag qo‘yish

Eskiroq commit’ga uning hash’ini ko‘rsatish orqali tag qo‘yishingiz mumkin:

Misol

git tag v1.1 1a2b3c4d

1a2b3c4d o‘rniga tag qo‘ymoqchi bo‘lgan commit’ingiz hash’ini yozing.


Tag’larni ro‘yxat qilish

Repozitoriyingizdagi barcha tag’larni ko‘ring:

Misol

git tag

Tag tafsilotlarini ko‘rsatish (git show)

Tag va u ko‘rsatib turgan commit haqidagi tafsilotlarni ko‘ring:

Misol

git show v1.0

Tag’larni masofaviy repozitoriyga push qilish

Standart holatda tag’lar faqat sizning lokal kompyuteringizda mavjud bo‘ladi.

Agar boshqalar ham tag’laringizni ko‘rishini istasangiz, ularni masofaviy repozitoriyingizga push qilishingiz kerak.

Agar tag’laringizni push qilmasangiz, ularni faqat siz va faqat lokal holatda ko‘rasiz.

Bitta tag’ni masofaviy repozitoriyingizga push qilish uchun (masalan, reliz tag’ini yaratgandan so‘ng):

Misol: Bitta tag’ni push qilish

git push origin v1.0

Bilasizmi? Commit’larni git push bilan push qilish tag’laringizni push qilmaydi!

Tag’larni yuqorida ko‘rsatilganidek alohida push qilishingiz kerak.

Barcha lokal tag’laringizni masofaviy repozitoriyga birdaniga push qilish uchun (bir nechta tag yaratgan bo‘lsangiz, qulay):

Misol: Barcha tag’larni push qilish

git push --tags

Tag’larni o‘chirish

Tag’ni lokal o‘chirish:

Misol

git tag -d v1.0

Tag’ni masofaviy repozitoriydan o‘chirish:

Misol

git push origin --delete tag v1.0

Tag’ni yangilash yoki almashtirish (force push)

Agar tag’ni boshqa commit’ga ko‘chirib, masofaviy repozitoriyni yangilashingiz kerak bo‘lsa, --force parametridan foydalaning:

Misol

git tag -f v1.0 <new-commit-hash>
git push --force origin v1.0

Tag’lash bo‘yicha eng yaxshi amaliyotlar

  • Relizlarni, muhim bosqichlarni yoki loyihangizdagi barqaror nuqtalarni belgilash uchun tag’lardan foydalaning.
  • Ommaviy yoki ulashiladigan har qanday narsa uchun har doim izohli tag’lardan (-a -m bilan) foydalaning.
  • Tag’larni barcha testlardan o‘tgandan keyin yoki kodni deploy/reliz qilishdan oldin yarating.

Muammolarni bartaraf etish

  • Tag allaqachon mavjudmi? Uni o‘chirish uchun git tag -d <tagname> buyrug‘idan foydalaning, so‘ng qayta yarating.
  • Noto‘g‘ri tag’ni push qildingizmi? Uni lokal va masofaviy repozitoriydan o‘chiring, so‘ng to‘g‘ri tag’ni push qiling.
  • Tag masofaviy repozitoriyda ko‘rinmayaptimi? Tag’larni git push origin <tagname> yoki git push --tags bilan push qilishni unutmang.
  • Masofaviy repozitoriydagi tag’ni qayta yozish kerakmi? Tag’ni git push --force origin <tagname> bilan majburan push qilishingiz (force push) mumkin, lekin ehtiyot bo‘ling! Bu masofaviy repozitoriydan foydalanadigan hamma uchun tag’ni qayta yozadi.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!