ฉันชอบแนวทางของ Micah Henning ในบทความของเขามาก (ดูการตั้งค่า Git Identities ) ในเรื่องนี้ ความจริงที่ว่าเขาใช้และบังคับข้อมูลประจำตัวกับแต่ละที่เก็บที่สร้าง / โคลนเป็นวิธีที่ดีที่จะไม่ลืมตั้งค่านี้ทุกครั้ง
การกำหนดค่าคอมไพล์พื้นฐาน
ยกเลิกการตั้งค่าการกำหนดค่าผู้ใช้ปัจจุบันใน git:
$ git config --global --unset user.name
$ git config --global --unset user.email
$ git config --global --unset user.signingkey
บังคับใช้คอนฟิกูเรชันเอกลักษณ์บนที่เก็บโลคัลใหม่:
$ git config --global user.useConfigOnly true
สร้างนามแฝง Git สำหรับidentity
คำสั่งเราจะใช้ในภายหลัง:
$ git config --global alias.identity '! git config user.name "$(git config user.$1.name)"; git config user.email "$(git config user.$1.email)"; git config user.signingkey "$(git config user.$1.signingkey)"; :'
การสร้างตัวตน
สร้างตัวตนด้วย GPG (ใช้gpg
หรือgpg2
ขึ้นอยู่กับสิ่งที่คุณมีในระบบของคุณ) ทำซ้ำขั้นตอนถัดไปสำหรับข้อมูลประจำตัวแต่ละตัวที่คุณต้องการใช้
หมายเหตุ: [keyid]
นี่คือตัวระบุของคีย์ลับที่สร้างขึ้น ตัวอย่างที่นี่:
sec rsa4096/8A5C011E4CE081A5 2020-06-09 [SC] [expires: 2021-06-09]
CCC470AE787C057557F421488C4C951E4CE081A5
uid [ultimate] Your Name <youremail@domain>
ssb rsa4096/1EA965889861C1C0 2020-06-09 [E] [expires: 2021-06-09]
8A5C011E4CE081A5
ส่วนหนึ่งหลังจากที่sec rsa4096/
เป็นตัวบ่งชี้ของคีย์
$ gpg --full-gen-key
$ gpg --list-secret-keys --keyid-format LONG <youremail@domain>
$ gpg --armor --export [keyid]
คัดลอกบล็อกคีย์สาธารณะและเพิ่มในการตั้งค่า GitHub / GitProviderOfChoice ของคุณเป็นคีย์ GPG
เพิ่มเอกลักษณ์ในการกำหนดค่า Git ทำซ้ำสิ่งนี้สำหรับข้อมูลประจำตัวแต่ละรายการที่คุณต้องการเพิ่ม:
หมายเหตุ: นี่ผมใช้gitlab
ในการตั้งชื่อตัวตนของฉัน แต่จากคำถามของคุณก็สามารถเป็นอะไรก็ได้เช่น: gitolite
หรือgithub
, work
ฯลฯ
$ git config --global user.gitlab.name "Your Name"
$ git config --global user.gitlab.email "youremail@domain"
$ git config --global user.gitlab.signingkey [keyid]
ตั้งค่าเอกลักษณ์สำหรับที่เก็บ
หาก repo ใหม่ไม่มีการเชื่อมโยงข้อมูลประจำตัวข้อผิดพลาดจะปรากฏขึ้นในการคอมมิตเตือนให้คุณตั้งค่า
*** Please tell me who you are.
## parts of message skipped ##
fatal: no email was given and auto-detection is disabled
ระบุข้อมูลประจำตัวที่คุณต้องการบนที่เก็บใหม่:
$ git identity gitlab
ตอนนี้คุณพร้อมที่จะยอมรับข้อมูลประจำตัวของgitlabแล้ว