อัปเดตครั้งล่าสุด: 05 มีนาคม 2019
หลังจาก 98 upvotes ฉันคิดว่าฉันต้องให้คำตอบที่แท้จริงกับคำอธิบาย
ทำไมรหัส VS ขอรหัสผ่าน? เนื่องจาก VSCode ใช้งานคุณสมบัติดึงข้อมูลอัตโนมัติในขณะที่เซิร์ฟเวอร์ git ไม่มีข้อมูลใด ๆ ที่จะอนุญาตข้อมูลประจำตัวของคุณ มันเกิดขึ้นเมื่อ:
- repo git ของคุณมี
https
URL ระยะไกล ใช่ รีโมทชนิดนี้จะถามคุณทุกครั้งอย่างแน่นอน ไม่มีข้อยกเว้นที่นี่! (คุณสามารถทำเคล็ดลับชั่วคราวเพื่อแคชการให้สิทธิ์เป็นโซลูชันด้านล่าง แต่ไม่แนะนำให้ทำ)
- repo git ของคุณมี
ssl
URL ระยะไกล แต่คุณไม่ได้คัดลอกกุญแจสาธารณะ ssh ไปยังเซิร์ฟเวอร์ git ใช้ssh-keygen
เพื่อสร้างคีย์ของคุณและคัดลอกไปยังเซิร์ฟเวอร์ git ทำ! โซลูชันนี้ยังช่วยให้คุณไม่ต้องพิมพ์รหัสผ่านซ้ำบนเทอร์มินัลอีกครั้ง ดูคำแนะนำที่ดีโดย @Fnatical ที่นี่สำหรับคำตอบ
ส่วนที่ปรับปรุงท้ายคำตอบนี้ไม่ได้ช่วยอะไรคุณเลย (อันที่จริงแล้วมันทำให้คุณหยุดนิ่งในเวิร์กโฟลว์ของคุณ) มันจะหยุดสิ่งที่เกิดขึ้นใน VSCode และย้ายสิ่งที่เกิดขึ้นเหล่านี้ไปยังสถานี
ขออภัยถ้าคำตอบที่ไม่ดีนี้ส่งผลกระทบต่อคุณเป็นระยะเวลานาน
-
คำตอบเดิม (ไม่ดี)
ฉันพบวิธีแก้ปัญหาบนเอกสาร VSCode :
เคล็ดลับ: คุณควรตั้งค่าผู้ช่วยข้อมูลประจำตัวเพื่อหลีกเลี่ยงการถูกขอข้อมูลประจำตัวทุกครั้งที่ VS Code พูดถึงรีโมท Git ของคุณ หากคุณไม่ทำเช่นนี้คุณอาจต้องพิจารณาปิดใช้งานการเรียกอัตโนมัติในเมนู ... เพื่อลดจำนวนการแจ้งเตือนที่คุณได้รับ
ดังนั้นให้เปิดตัวช่วยข้อมูลประจำตัวเพื่อที่ Git จะบันทึกรหัสผ่านของคุณไว้ในหน่วยความจำชั่วคราว โดยค่าเริ่มต้น Git จะแคชรหัสผ่านของคุณเป็นเวลา 15 นาที
ใน Terminal ให้ป้อนข้อมูลต่อไปนี้:
git config --global credential.helper cache
# Set git to use the credential memory cache
หากต้องการเปลี่ยนการหมดเวลาแคชรหัสผ่านเริ่มต้นให้ป้อนข้อมูลต่อไปนี้:
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
UPDATE (หากคำตอบดั้งเดิมไม่ทำงาน)
ฉันติดตั้ง VS Code และตั้งค่าไว้ด้านบน แต่ตามที่ @ddieppa พูดว่ามันไม่ได้ผลสำหรับฉันเช่นกัน ดังนั้นฉันจึงพยายามค้นหาตัวเลือกในการตั้งค่าผู้ใช้และฉันเห็น "git.autofetch" = จริงตอนนี้ตั้งเป็นเท็จ! รหัส VS ไม่จำเป็นต้องใส่รหัสผ่านซ้ำแล้วซ้ำอีก!
ในเมนูคลิกไฟล์ / การตั้งค่า / การตั้งค่าผู้ใช้และพิมพ์สิ่งเหล่านี้:
วางการตั้งค่าของคุณในไฟล์นี้เพื่อเขียนทับการตั้งค่าเริ่มต้น
{
"git.autofetch": false
}