امضا کردن با GPG (یا SSH) به شما این امکان را میدهد که صحت و مالکیت کامیتها و تگها را تأیید کنید. این ویژگی در پروژههای متنباز و حرفهای بسیار اهمیت دارد چون نشان میدهد که تغییرات واقعاً از طرف شما انجام شدهاند.
اول باید یک کلید GPG بسازید و به GitHub معرفی کنید:
gpg --full-generate-key
سپس کلید عمومی خود را کپی کنید:
gpg --list-secret-keys --keyid-format=long
gpg --armor --export YOUR_KEY_ID
در مرحله بعد باید Git را طوری تنظیم کنید که از این کلید برای امضا استفاده کند:
git config --global user.signingkey YOUR_KEY_ID
git config --global commit.gpgsign true
اگر نمیخواهید همه کامیتها بهصورت پیشفرض امضا شوند، میتوانید بهصورت دستی هنگام ایجاد کامیت از فلگ
-S
استفاده کنید:
git commit -S -m "کامیت امضا شده"
برای امضای یک تگ از گزینه -s
استفاده میکنیم:
git tag -s v1.0 -m "نسخه 1.0"
برای مشاهده امضای یک تگ:
git tag -v v1.0