Git tag’lar
Git tag’lar
Tag’lar bilan ishlash uchun asosiy buyruqlar
git tag <tagname>- Yengil (lightweight) tag yaratishgit tag -a <tagname> -m "message"- Izohli (annotated) tag yaratishgit tag <tagname> <commit-hash>- Muayyan commit’ga tag qo‘yishgit tag- Tag’larni ro‘yxat qilishgit 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 -mbilan) 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>yokigit push --tagsbilan 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!
