GPG подписывает все git-коммиты без кошелька

git 2.0 имеет параметр конфигурации commit.gpgsign который будет подписывать все коммиты.

Это также будет применяться для git stash и попросит пароль моего ключа gpg.

Является ли это способ автоматически подписывать все коммиты, теги,... но исключать stashes?

Ответ 1

Это псевдоним:

git config --global alias.stashq '-c commit.gpgsign=false stash'

Ответ 2

Мне нравится jthill answer, просто хотелось предоставить немного другой вариант, поэтому вам не нужно учиться вводить новую команду. Вы можете определить функцию оболочки в вашем .bashrc следующим образом:

git() {
  case $1 in
    stash) set -- -c commit.gpgsign=false "[email protected]" ;;
  esac
  command git "[email protected]"
}

Теперь, когда вы запускаете git stash тогда функция shell вставляет дополнительные аргументы перед вызовом двоичного кода git.