Saya tertarik untuk membuat setiap komitmen saya ditandatangani dengan kunci GPG saya. Karena saya menggunakan magit untuk berinteraksi dengan git, saya bertanya-tanya apakah memberitahu magit untuk menandatangani setiap komit dimungkinkan (atau beberapa solusi untuk mencapai ini layak, setidaknya).
13
git commit -S[<keyid>], --gpg-sign[=<keyid>]
. Setidaknya ada satu alasan untuk menandatangani setiap komitmen: untuk memiliki bukti yang lebih kuat bahwa komitmen tersebut berasal dari orang yang menurut Anda melakukannya. Menandatangani tag hanya memungkinkan Anda mendeteksi perubahan riwayat.Jawaban:
Di Magit, komit dibuat menggunakan popup komit ( c). Karena itu popup akan menjadi tempat yang baik untuk mulai mencari dukungan gpg. Jika Anda melakukannya, maka Anda akan menemukan ini:
Jadi ketik = Sdan pilih tombol. Untuk menghindari keharusan melakukan itu setiap kali Anda membuat komit, Anda dapat menyimpan nilai argumen itu (dan semua argumen lain yang saat ini disetel) menggunakan C-x C-s.
Anda mungkin masih harus mengetikkan frasa sandi setiap kali. Untuk menghindari itu, Anda harus memulai agen gpg dan memastikan Emacs mengetahuinya, misalnya menggunakan
keychain
skrip shell dankeychain-environment
paket Emacs.Juga lihat dan atur
--show-signature
argumen di popup logging.sumber
transient
?Coba ini di
$HOME/.gitconfig
atau Anda.git/config
Kemudian lakukan seperti biasa.
sumber
=S
opsi magit menetapkan kunci$HOME/.gitconfig
, jadi sama untuk semua repositori Anda.