Я следил за несколькими статьями по поводу привлекательных атрибутов Git 2.10 . Проходя через который обновил GIT до 2.10.0 и внес изменения в глобальный, в .gitconfig
результате следующим образом -
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[user]
name = xyz
email = abc.def@gmail.com
signingkey = AAAAAAA
[core]
excludesfile = /Users/xyz/.gitignore_global
editor = 'subl' --wait
[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
path =
[mergetool "sourcetree"]
cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
[alias]
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
[color "diff"]
old = red strike
new = green italic
Но теперь, когда я пытаюсь подписать свои коммиты, используя
git commit -a -S -m "message"
Я вижу следующую ошибку -
Вам нужен пароль, чтобы разблокировать секретный ключ для
пользователь: "XYZ (с цифровой подписью)"
2048-битный ключ RSA, идентификатор AAAAAAAA, создан 2016-07-01
ошибка: gpg не смог подписать данные фатально: не удалось записать объект коммита
Примечание. Я все еще могу зафиксировать изменения, используяgit commit -a -m "message"
Есть ли способ преодолеть то же самое? Или какие-либо изменения, необходимые в gpg
конфигах, чтобы ладить с обновлением git?
Обновление 1
Также ищите дополнительную полезность, следуя следующим указаниям. Есть ли способ «автоматического подписания» коммитов в Git с помощью ключа GPG? , Я уже настроил ключ, используя
git config --global user.signingkey ED5CDE14(with my key)
git config --global commit.gpgsign true
и, очевидно, все равно получаю ту же ошибку.
user.signingkey
исправило мою проблему, как ни странно.
user.name
был! = Имя, используемое при создании ключа PGP
gpg failed to sign the data
каждый раз, когда использую-S
. В 2.8 я могу без проблем подписать коммит. Я не знаю, что случилось.