امضا کردن تگ‌ها و کامیت‌ها در Git

چرا باید کامیت‌ها و تگ‌ها را امضا کنیم؟

امضا کردن با GPG (یا SSH) به شما این امکان را می‌دهد که صحت و مالکیت کامیت‌ها و تگ‌ها را تأیید کنید. این ویژگی در پروژه‌های متن‌باز و حرفه‌ای بسیار اهمیت دارد چون نشان می‌دهد که تغییرات واقعاً از طرف شما انجام شده‌اند.

فعال‌سازی GPG و امضای کامیت

اول باید یک کلید 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