Если вам нужно, чтобы GPG подписал все коммиты С ТОГО, как конкретный коммит в текущей ветке, вы можете использовать следующее:
git filter-branch --commit-filter 'git commit-tree -S "$@";' <COMMIT>..HEAD
Где <COMMIT>
- это идентификатор фиксации (например, abc123e5
).
Это дает дополнительное преимущество, заключающееся в том, что он не нарушает метаданные фиксации (включая дату фиксации).
Если вы также хотите прекратить получать запросы на ввод вашей парольной фразы GPG при каждом коммите, также посмотрите этот ответ:https://askubuntu.com/a/805550
ПРИМЕЧАНИЕ. Переключение с gpg
на gpg2
для подписи GIT потребует повторного импорта закрытого ключа в GPG 2.