วิธีการลงนามผูกพันโดยอัตโนมัติด้วย magit?


13

ฉันสนใจที่จะลงนามผูกพันกับ GPG ของฉัน เนื่องจากฉันใช้ magit สำหรับการเชื่อมต่อกับ git ฉันสงสัยว่าการบอกให้ magit ลงนามในแต่ละการกระทำนั้นเป็นไปได้หรือไม่


Git รองรับการลงนามหรือไม่? ผมคิดว่าเพียงแท็กอาจจะมีการลงนาม ...
lunaryorn

1
git commit -S[<keyid>], --gpg-sign[=<keyid>]@lunaryorn มีเหตุผลอย่างน้อยหนึ่งอย่างที่จะลงนามในแต่ละการมอบอำนาจ: เพื่อให้มีหลักฐานที่ชัดเจนว่าการกระทำนั้นมาจากบุคคลที่คุณคิดว่ามันเป็น แท็กการเซ็นชื่ออนุญาตให้คุณตรวจพบการเปลี่ยนแปลงประวัติเท่านั้น
Nsukami _

@Nsukami_ ไม่ตอบคำถามของฉันใช่ไหม?
Lunaryorn

@lunaryorn ขออภัยหากไม่ตอบคำถามของคุณ ใช่การสนับสนุน Git กระทำการเซ็นสัญญา
Nsukami _

คำตอบ:


20

ใน Magit กระทำจะถูกสร้างขึ้นโดยใช้ป๊อปอัพยอมรับ ( c) ป๊อปอัปนั้นจะเป็นจุดเริ่มต้นที่ดีในการมองหาการสนับสนุน gpg หากคุณทำเช่นนั้นคุณจะพบสิ่งนี้:

=S Sign using gpg (--gpg-sign=)

ดังนั้นพิมพ์= Sและเลือกกุญแจ เพื่อหลีกเลี่ยงการทำเช่นนั้นครั้งที่คุณสร้างทุกการกระทำที่คุณสามารถบันทึกค่าของการโต้แย้งว่า (และอื่น ๆ ที่กำหนดขณะขัดแย้งทั้งหมด) C-x C-sโดยใช้

คุณอาจต้องพิมพ์ข้อความรหัสผ่านทุกครั้ง เพื่อหลีกเลี่ยงการที่คุณควรเริ่มต้น gpg-agent และตรวจสอบให้แน่ใจว่า Emacs รู้เรื่องนี้เช่นใช้keychainเชลล์สคริปต์และkeychain-environmentแพ็คเกจ Emacs

ดูและตั้งค่า--show-signatureอาร์กิวเมนต์ในป๊อปอัพการบันทึก


สิ่งนี้มีการเปลี่ยนแปลงtransientหรือไม่?
tejasbubane

1
อาร์กิวเมนต์นี้ถูกซ่อนโดยค่าเริ่มต้น การประกาศชั่วคราวอธิบายวิธีแสดงโดยการเปลี่ยน "ระดับ"
Tarsius

ในกรณีที่ทุกคนสะดุดมองที่นี่: magit.vc/manual/transient/Enabling-and-Disabling-Suffixes.html
tejasbubane

@tarsius ฉันไม่สามารถเปลี่ยนระดับได้ ฉันจะตั้งค่าเกี่ยวกับการทำเช่นนั้นได้อย่างไร ขอขอบคุณ.
e18r

เอกสารส่วนไหนที่ tejasbubane เชื่อมโยงถึงนั้นไม่ชัดเจน?
ทาร์ซิอุส

15

ลองสิ่งนี้ในของคุณ$HOME/.gitconfigหรือของคุณ.git/config

[user]
    email = YourEmail
    name = YourName
    signingkey = XXXXXXXX
[commit]
    gpgsign = true

จากนั้นก็กระทำตามปกติ


คำตอบนี้มีข้อดีที่คุณสามารถตั้งค่าคีย์ต่อที่เก็บ ดูเหมือนว่า=Sตัวเลือกของ magit จะตั้งค่าคีย์$HOME/.gitconfigดังนั้นเหมือนกันสำหรับที่เก็บข้อมูลทั้งหมดของคุณ
ph0t0nix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.