จะทราบชื่อผู้ใช้และอีเมล git ที่บันทึกระหว่างการกำหนดค่าได้อย่างไร


164

ขณะกำหนดค่าgitฉันรันสองคำสั่งนี้:

git config --global user.name "My Name"

git config --global user.email "myemail@example.com"

อย่างไรก็ตามฉันสงสัยว่าฉันพิมพ์ผิดหรือไม่ มีคำสั่งใดให้ทราบชื่อและอีเมลที่gitบันทึกระหว่างการกำหนดค่าหรือไม่? เห็นได้ชัดว่าฉันสามารถรู้ได้ว่าการใช้git logคำสั่งโดยดูที่ประวัติการกระทำ แต่สำหรับสิ่งนั้นฉันต้องทำสัญญาใช่ไหม? ฉันสามารถรู้ได้ด้วยความช่วยเหลือของบรรทัดคำสั่ง?


คุณเปลี่ยนระบบปฏิบัติการของคุณหรืออะไรทำนองนั้น?
Dinith

ใช่บางครั้งฉันฟอร์แมตระบบของฉันเพื่อลองใช้ระบบปฏิบัติการอื่น
Jebin Philipose

คำตอบ:


238

คำสั่งgit config --listจะแสดงรายการการตั้งค่า มีคุณควรหาและuser.nameuser.email


1
ว้าว! ที่ช่วย! แต่นั่นเป็นรายการที่ยาวและฉันไม่รู้ว่า config มีตัวเลือกมากมาย ขอบคุณสำหรับการตอบกลับ!
Jebin Philipose

@JebinPhilipose ฉันแน่ใจว่าคุณสามารถ upvote ในขณะนี้เป็นคุณได้ไปที่ผ่านมาความต้องการของ 15 ชื่อเสียงเพื่อ upvote เป็นที่กล่าวถึงที่นี่ นอกเหนือจากนั้นโปรดพิจารณาทำเครื่องหมายคำตอบใดคำตอบหนึ่งเป็นคำตอบที่ยอมรับซึ่งมีประโยชน์มากที่สุดสำหรับคุณในการแก้ไขปัญหาของคุณ คุณจะต้องคลิกเครื่องหมายถูกด้านล่างปุ่มโหวตเพื่อทำเครื่องหมายว่าเป็นคำตอบที่ยอมรับ คุณจะได้รับ +2 ด้วยเช่นกัน :) สิ่งนี้ช่วยให้ชุมชนมุ่งเน้นไปที่คำถามที่ยังไม่มีคำตอบ
RBT

51

เมื่อพิจารณาถึงสิ่งที่ @Robert กล่าวฉันพยายามเล่นกับconfigคำสั่งและดูเหมือนว่าจะมีวิธีโดยตรงในการรู้ทั้งชื่อและอีเมล

หากต้องการทราบชื่อผู้ใช้ให้พิมพ์:

git config user.name

หากต้องการทราบอีเมลให้พิมพ์:

git config user.email

ผลลัพธ์ทั้งสองนี้เป็นเพียงชื่อและอีเมลตามลำดับและไม่จำเป็นต้องดูรายการทั้งหมด มีประโยชน์


40

ภายในไดเรกทอรีเก็บคอมไพล์ของคุณgit config user.nameวิ่ง

เหตุใดการรันคำสั่งนี้ภายในไดเร็กทอรี git repo ของคุณจึงมีความสำคัญ

ถ้าคุณอยู่นอกพื้นที่เก็บข้อมูลคอมไพล์git config user.nameช่วยให้คุณมีค่าของuser.nameที่ทั่วโลกระดับ เมื่อคุณทำการคอมมิตชื่อผู้ใช้ที่เกี่ยวข้องจะถูกอ่านในระดับโลคัล

แม้ว่าจะไม่น่าพูดให้ของuser.nameถูกกำหนดให้เป็นfooวันที่ทั่วโลกระดับ แต่barที่ท้องถิ่นระดับ จากนั้นเมื่อคุณทำงานgit config user.nameนอกของไดเรกทอรี repo barคอมไพล์จะช่วยให้ fooแต่เมื่อคุณจริงๆกระทำบางสิ่งบางอย่างค่าที่เกี่ยวข้องคือ


ตัวแปรการกำหนดค่า Git สามารถจัดเก็บได้ 3 ระดับ แต่ละระดับจะลบล้างค่าในระดับก่อนหน้า

1. ระดับระบบ (ใช้กับผู้ใช้ทุกคนในระบบและที่เก็บทั้งหมด)

  • เพื่อดูgit config --list --system(อาจต้องการsudo)
  • เพื่อตั้งค่า git config --system color.ui true
  • เพื่อแก้ไขไฟล์กำหนดค่าระบบ git config --edit --system

2. ระดับโลก (ค่าเฉพาะสำหรับคุณผู้ใช้)

  • ดู, git config --list --global
  • เพื่อตั้งค่า git config --global user.name xyz
  • เพื่อแก้ไขไฟล์กำหนดค่าส่วนกลาง git config --edit --global

3. ระดับที่เก็บ (เฉพาะสำหรับที่เก็บเดียวนั้น)

  • ดู, git config --list --local
  • เพื่อตั้งค่าgit config --local core.ignorecase true( --localไม่บังคับ)
  • เพื่อแก้ไขไฟล์กำหนดค่าที่เก็บgit config --edit --local( --localทางเลือก)

จะดูการตั้งค่าทั้งหมดได้อย่างไร?

  • Run git config --listแสดงระบบ , ทั่วโลก , และ (ถ้าภายในพื้นที่เก็บข้อมูล) ท้องถิ่น configs
  • เรียกใช้git config --list --show-originยังแสดงไฟล์ต้นทางของแต่ละรายการกำหนดค่า

จะอ่าน config เฉพาะได้อย่างไร?

  • วิ่งgit config user.nameเพื่อรับuser.nameตัวอย่างเช่น
  • นอกจากนี้คุณยังอาจระบุตัวเลือก--system, --global, --localการอ่านค่าที่อยู่ในระดับโดยเฉพาะอย่างยิ่ง

อ้างอิง: 1.6 การเริ่มต้น - การตั้งค่า Git ครั้งแรก


ขอขอบคุณที่ตอบและอธิบายโดยละเอียด
Jebin Philipose

@sam ฉันอยู่ใน repo ท้องถิ่นตั้งชื่อผู้ใช้และอีเมล แต่ git push ยังคงใช้ชื่อสากล ทำไมถึงเป็นเช่นนั้น?
CKM

21

หากคุณต้องการตรวจสอบหรือตั้งชื่อผู้ใช้และอีเมลคุณสามารถใช้คำสั่งด้านล่าง

ตรวจสอบชื่อผู้ใช้

git config user.name

ตั้งชื่อผู้ใช้

git config user.name "your_name"

ตรวจสอบอีเมลของคุณ

git config user.email

ตั้งค่า / เปลี่ยนอีเมลของคุณ

git config user.email "your@email.com"

แสดงรายการ / ดูการกำหนดค่าทั้งหมด

git config --list

หากต้องการข้อมูลเพิ่มเติมโปรดดูเอกสารอย่างเป็นทางการ: help.github.com/th/github/using-git/…
Srikrushna

6

แสดงรายการตัวแปรทั้งหมดที่ตั้งค่าไว้ในไฟล์กำหนดค่าพร้อมกับค่าของตัวแปร

git config --list

หากคุณเพิ่งเริ่มใช้คอมไพล์ให้ใช้คำสั่งต่อไปนี้เพื่อตั้งชื่อผู้ใช้และที่อยู่อีเมล

ตั้งชื่อผู้ใช้

git config --global user.name "your Name"

ตั้งค่าอีเมลผู้ใช้

git config --global user.email "your_email@example.com"

ตรวจสอบชื่อผู้ใช้

git config user.name

ตรวจสอบอีเมลของผู้ใช้

git config user.email

5

บางครั้งวิธีแก้ปัญหาข้างต้นใช้ไม่ได้ใน macbook เพื่อรับชื่อผู้ใช้ n รหัสผ่าน

IDK ทำไมฉันมีวิธีแก้ปัญหาอื่น

$ git credential-osxkeychain get
host=github.com
protocol=https

this will revert username and password

3

เพิ่มสองเซ็นต์ของฉันที่นี่ หากคุณต้องการรับ user.name หรือ user.email โดยไม่มีเอาต์พุต verbose

บน liunx พิมพ์git config --list | grep user.name.

บน Windows, git config --list | findstr user.nameประเภท

สิ่งนี้จะให้ user.name แก่คุณเท่านั้น


0

หากต้องการดูประเภทการกำหนดค่าคอมไพล์ -

git config --list

ในการเปลี่ยนชื่อผู้ใช้ประเภททั่วโลก -

git config --global user.name "your_name"

ในการเปลี่ยนอีเมลประเภททั่วโลก -

git config --global user.email "your_email"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.