Git commit va tag’larni imzolash

Git imzolash (signing)


ULASHISH

Commit’ni imzolash nima?

Commit’ni imzolash ishingizga shaxsiy imzongizni qo‘yishga o‘xshaydi.

U o‘zgarishni haqiqatan siz kiritganingizni isbotlaydi va boshqalarning kodingizga ishonishiga yordam beradi.

GitHub yoki GitLab kabi platformalarda imzolangan commit’lar ko‘pincha Verified (tasdiqlangan) belgisini oladi.


GPG nima?

GPG (GNU Privacy Guard) — narsalarni imzolash uchun raqamli kalit (maxfiy parolga o‘xshash narsa) yaratish imkonini beruvchi vosita.

Git commit’lar va tag’larni imzolash uchun GPG kalitlaridan foydalanadi.

Bu shaxsingizni isbotlashga yordam beradi va kodingizga begona o‘zgartirish kiritilmaganini kafolatlaydi.


Commit’larni nima uchun va qachon imzolash kerak?

  • Commit’laringiz haqiqatan sizdan ekanini isbotlash uchun
  • Boshqalarning kodingizga ishonishiga yordam berish uchun (ayniqsa, ochiq manbali loyihalarda)
  • Ba’zi kompaniyalar yoki loyihalar xavfsizlik maqsadida imzolangan commit’larni talab qiladi
  • Agar imzolamasangiz ham, commit’laringiz haqiqiy bo‘lib qoladi, faqat tasdiqlanmagan bo‘ladi

Commit’larni imzolashni qanday sozlash mumkin

GPG kalitini yarating (agar sizda bo‘lmasa):

Misol: Yangi GPG kalitini yaratish

gpg --full-generate-key

Kalitingizni yaratish uchun ko‘rsatmalarga amal qiling.

Kalitingiz ID’sini toping:

Misol: GPG kalitlarini ro‘yxat qilish

gpg --list-secret-keys --keyid-format=long

sec rsa4096/1234ABCD5678EFGH kabi qatorni toping. Slesh belgisidan keyingi qism — kalitingiz ID’si.

Git’ga kalitingizdan foydalanishni ayting:

Misol: Imzolash kalitini belgilash

git config --global user.signingkey <your-key-id>


Commit’lar va tag’larni qanday imzolash mumkin

Commit’ni imzolash uchun quyidagidan foydalaning:

git commit -S -m "message"

Tag’ni imzolash uchun quyidagidan foydalaning:

git tag -s v1.0 -m "version 1.0"

Barcha commit’larni avtomatik imzolash

Agar Git har bir commit’ni standart holatda imzolashini istasangiz, quyidagini ishga tushiring:

git config --global commit.gpgSign true

Commit imzolanganini qanday tekshirish mumkin

Git’da tekshirish uchun quyidagini ishga tushiring:

git log --show-signature

GitHub yoki GitLab’da commit yoki tag’ingiz yonidagi Verified belgisiga e’tibor bering.

Misol: Git log’dagi imzolangan commit

commit 1234abcd5678efgh
gpg: Signature made ...
gpg: Good signature from "Your Name <you@email.com>"
Author: Your Name <you@email.com>
Date:   ...

Imzolangan commit’lar bilan bog‘liq muammolarni bartaraf etish

  • GPG failed to sign the data: GPG agentingiz ishlayotganiga va kalitingiz yuklanganiga ishonch hosil qiling.
  • Noto‘g‘ri kalit ishlatilgan: Git’da belgilagan kalit ID’sini qayta tekshiring.
  • Hali ham muammo bormi? Xato xabarini internetdan qidirib ko‘ring yoki Git va GPG o‘rnatilishini tekshiring.

Eslatma: Imzolangan commit’lar va tag’lar kodingizga begona o‘zgartirish kiritilmaganini kafolatlashga va muallif sifatida shaxsingizni tasdiqlashga yordam beradi.

Ba’zi platformalar imzongizni tanishi uchun qo‘shimcha sozlashni talab qilishi mumkin (masalan, ochiq kalitingizni GitHub yoki GitLab’ga yuklash).




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!