การกำหนดค่าผู้ใช้และรหัสผ่านด้วย Git Bash


96

ฉันใช้ Git Bash บน Windows 7 เรากำลังใช้ GitHub เป็นที่เก็บของเรา

ทุกครั้งที่ผลักหรือดึงฉันต้องให้ข้อมูลรับรองผู้ใช้และรหัสผ่าน ฉันรู้ว่าคีย์ SSH ของฉันได้รับการตั้งค่าอย่างถูกต้องมิฉะนั้นฉันจะไม่สามารถเข้าถึงที่เก็บได้ (นั่นคือเมื่อฉันป้อนข้อมูลรับรองของฉันการผลัก / ดึงจะทำงานอย่างถูกต้อง)

ฉันได้ป้อน

git config --global user.name myusername
git config --global user.email myemail
git config --global github.user myusername
git config --global github.token mytoken

แต่ถึงกระนั้นฉันก็ถูกขอข้อมูลประจำตัวทุกครั้งที่ฉันผลัก / ดึง


คำตอบ:


64

ตรวจสอบให้แน่ใจว่าคุณใช้ SSH URL สำหรับที่เก็บ GitHub แทนที่จะใช้ HTTPS URL มันจะถามชื่อผู้ใช้และรหัสผ่านเมื่อคุณใช้ HTTPS ไม่ใช่ SSH คุณสามารถตรวจสอบไฟล์.git/configหรือเรียกใช้git config -eหรือgit remote show originตรวจสอบ URL และเปลี่ยนแปลงได้หากจำเป็น


19
ฉันไม่สามารถใช้ SSH ได้เนื่องจากกฎไฟร์วอลล์ภายใน (อย่าถาม ... ) มีวิธีอื่นในการให้ git เข้าสู่ระบบโดยอัตโนมัติหรือไม่?
Jorn

62

จาก Git Bash ฉันชอบเรียกใช้คำสั่ง:

git config --global credential.helper wincred

เมื่อถึงจุดนั้นการเรียกใช้คำสั่งเช่นgit pullและการป้อนข้อมูลรับรองของคุณหนึ่งครั้งควรจัดเก็บไว้เพื่อใช้ในอนาคต Git มีระบบข้อมูลรับรองในตัวที่ทำงานในสภาพแวดล้อมระบบปฏิบัติการที่แตกต่างกัน คุณสามารถรับรายละเอียดเพิ่มเติมได้ที่นี่: 7.14 Git Tools - Credential Storage


มีทางเลือกอื่นของ linux หรือไม่หรือใช้ได้กับ linux ด้วยหรือไม่?
Sold Out

1
git config --global credential.helper cache help.github.com/en/github/using-git/…
Sam Sussman

ไม่มีอะไรทำงานสำหรับฉัน ฉันจะบ้า! ฉันติดตั้ง Git ใหม่และลองใช้แล้วและมันก็ใช้งานได้ดี ขอบคุณ !!!
LTV

ทำงานจากภายในคอนโซล win10 cmd ด้วย
dimplex

50

สำหรับผู้ที่ใช้โทเค็นการเข้าถึงและระบบ Windows มีวิธีง่ายๆดังนี้

เมนู Start → Credential ManagerWindows Credentials →ค้นหาบรรทัด (Git: https: // any / your-repository / url) →แก้ไข ชื่อผู้ใช้คือ "PersonalAccessToken" และรหัสผ่านคือโทเค็นการเข้าถึงของคุณ


1
ประหยัดเวลาอะไรอย่างนี้! ขอบคุณ !!
riorio

12

หากคุณเป็นผู้ใช้ Mac และเปิดใช้งานพวงกุญแจคุณจะต้องลบข้อมูลการอนุญาตที่เก็บไว้ในพวงกุญแจ:

- Open up Keychain access
- Click "All items" under category in the left-hand column
- Search for git
- Delete all git entries.

จากนั้นคุณควรเปลี่ยนชื่อผู้ใช้และอีเมลของคุณจากเทอร์มินัลโดยใช้git config:

$ git config --global user.name "Bob"

$ git config --global user.email "bob@example.com"

ตอนนี้ถ้าคุณพยายามดันไปที่ที่เก็บคุณจะถูกถามถึงชื่อผู้ใช้และรหัสผ่าน ป้อนข้อมูลรับรองการเข้าสู่ระบบที่คุณพยายามจะเปลี่ยนไปใช้ โดยปกติปัญหานี้จะปรากฏขึ้นหากคุณลงชื่อเข้าใช้ GitHub บนเบราว์เซอร์โดยใช้ชื่อผู้ใช้และรหัสผ่านอื่นหรือเปลี่ยนบัญชีก่อนหน้านี้บนเทอร์มินัลของคุณ


สิ่งนี้ช่วยฉันได้ แม้ว่าจะไม่จำเป็นต้องลบรายการคอมไพล์ แต่คุณสามารถแก้ไขได้ที่นั่น
herrmartell


1

ลองใช้ ssh-agent เพื่อติดตั้งคีย์ SSH เพื่อใช้กับ Git ควรเข้าสู่ระบบอัตโนมัติหลังจากใช้ข้อความรหัสผ่าน


1

ด้วย git bash สำหรับ Windows การรวมกันของคำตอบอื่น ๆ ต่อไปนี้เหมาะสำหรับฉัน (ที่เก็บตรวจสอบโดยใช้ไคลเอนต์ GitHub เช่น https ไม่ใช่ ssh):

  1. สร้างโทเค็นการเข้าถึงส่วนบุคคล
  2. เริ่มเซสชัน git bash ภายใน repo ของคุณ
  3. วิ่ง git config --global credential.helper wincred
  4. วิ่ง git pull
  5. ให้ PersonalAccessToken เป็นชื่อผู้ใช้
  6. ให้ Personal Access Token เป็นรหัสผ่าน

0

หาก repo ของคุณเป็น repo HTTPS ให้ git config -e ให้คำสั่งนี้ใน git bash อัปเดตชื่อผู้ใช้และรหัสผ่านโดยเปิดในโหมดแทรกเปลี่ยนรหัสผ่านหรือชื่อผู้ใช้ให้: ปุ่ม x และ Cntrl + z ซึ่งจะบันทึกและออก

ดังนั้นจากนั้นในขณะที่คุณดึง / พุชรหัสไปยังที่เก็บจะไม่ถามรหัสผ่าน


0

ผมเขียนคำตอบภายในนี้การเชื่อมโยง ;

ยังฉันกำลังแบ่งปันที่นี่เช่นกัน

เปลี่ยนชื่อผู้ใช้และอีเมลทั่วโลก

git config --global user.name "<username>"
git config --global user.email "<email>"

เปลี่ยนชื่อผู้ใช้และอีเมลสำหรับ repo ปัจจุบัน

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