ฉันได้ติดตามบทความบางอย่างเกี่ยวกับคุณลักษณะที่น่าสนใจในบันทึกย่อประจำรุ่นGit 2.10 จะผ่านซึ่งอัพเกรดคอมไพล์เป็น 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 (เซ็นชื่อแบบดิจิทัล)"
คีย์ RSA 2048 บิต, ID 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
was! = ชื่อที่ใช้เมื่อสร้างคีย์ PGP
gpg failed to sign the data
-S
ใน 2.8 ฉันสามารถลงนามใน commit ได้โดยไม่มีปัญหา ฉันไม่รู้ว่าเกิดอะไรขึ้น