Jestem zainteresowany podpisaniem każdego z moich zobowiązań za pomocą mojego klucza GPG. Ponieważ używam magita do łączenia się z gitem, zastanawiałem się, czy powiedzenie magitowi, aby podpisywał każde zatwierdzenie, jest możliwe (lub przynajmniej możliwe było obejście tego celu).
13
git commit -S[<keyid>], --gpg-sign[=<keyid>]
. Istnieje co najmniej jeden powód do podpisania każdego zatwierdzenia: mieć silniejszy dowód, że zatwierdzenie pochodziło od osoby, o której myślisz, że tak. Podpisywanie tagów pozwala tylko wykryć zmiany historii.Odpowiedzi:
W Magit zatwierdzenia są tworzone przy użyciu wyskakującego okienka ( c). To wyskakujące okienko byłoby zatem dobrym miejscem, aby zacząć szukać wsparcia dla gpg. Jeśli to zrobisz, znajdziesz to:
Więc wpisz = Si wybierz klucz. Aby uniknąć konieczności robienia tego za każdym razem, gdy tworzysz zatwierdzenie, możesz zapisać wartość tego argumentu (i wszystkich innych aktualnie ustawionych argumentów) za pomocą C-x C-s.
Może za każdym razem będziesz musiał wpisać hasło. Aby tego uniknąć, powinieneś uruchomić gpg-agent i upewnić się, że Emacs o tym wie, np. Używając
keychain
skryptu powłoki ikeychain-environment
pakietu Emacsa.Zobacz także i ustaw
--show-signature
argument w wyskakującym okienku rejestrowania.źródło
transient
?Spróbuj tego w swoim
$HOME/.gitconfig
lub swoim.git/config
Następnie po prostu popełnij jak zwykle.
źródło
=S
opcja magit ustawia klucz$HOME/.gitconfig
, tak samo dla wszystkich twoich repozytoriów.