# Export public key (shareable)gpg--armor--exportjohn@example.org>john.pub.asc
# Export secret key (keep safe!)gpg--armor--export-secret-keysjohn@example.org>john.sec.asc
# Import a keygpg--importjohn.pub.asc
gpg--importjohn.sec.asc# restores on a new machine# Refresh from keyservergpg--refresh-keys
# Generate a revocation certificate immediately after key creationgpg--gen-revokejohn@example.org>revoke.asc
# Apply it later if the key is compromisedgpg--importrevoke.asc
gpg--keyserverkeys.openpgp.org--send-keys<fingerprint>
# Upload your public keygpg--keyserverkeys.openpgp.org--send-keys<fingerprint>
# Search & downloadgpg--keyserverkeys.openpgp.org--search-keysjohn@example.org
gpg--keyserverkeys.openpgp.org--recv-keys<fingerprint>
# Encrypt for a recipient (they can decrypt with their private key)gpg--encrypt--armor--recipientjohn@example.orgfile.txt
# → produces file.txt.asc# Encrypt for multiple recipientsgpg--encrypt--armor-ralice@example.org-rbob@example.orgfile.txt
# Symmetric encryption (passphrase only, no keys needed)gpg--symmetric--armorfile.txt
# Decryptgpg--decryptfile.txt.asc
gpg--decryptfile.txt.asc>file.txt
# Detached signature (signature in a separate file)gpg--detach-sign--armorfile.tar.gz
# → produces file.tar.gz.asc# Verify a detached signaturegpg--verifyfile.tar.gz.ascfile.tar.gz
# Clearsign (signature + plaintext in one file)gpg--clearsignmessage.txt
# → produces message.txt.asc# Sign + encrypt in one stepgpg--sign--encrypt--armor--recipientjohn@example.orgfile.txt
# Configure Git to use your keygitconfig--globaluser.signingkey<fingerprint>
gitconfig--globalcommit.gpgsigntrue# always sign commitsgitconfig--globaltag.gpgsigntrue# Sign a commit manuallygitcommit-S-m"message"# Verify commitsgitlog--show-signature
# Full backup (run on source machine)gpg--armor--export>all-public.asc
gpg--armor--export-secret-keys>all-secret.asc
gpg--export-ownertrust>trust.txt
# Restore (on new machine)gpg--importall-public.asc
gpg--importall-secret.asc
gpg--import-ownertrusttrust.txt