ฉันจะอัพเดตรหัสผ่านสำหรับ Git ได้อย่างไร


566

ฉันใช้ BitBucket กับ Xcode และ Git สำหรับการควบคุมเวอร์ชันและเมื่อเร็ว ๆ นี้ฉันเปลี่ยนรหัสผ่านทั้งหมดของฉัน ( ขอบคุณ Adobe! )

ไม่น่าแปลกใจที่ฉันไม่สามารถผลักดันข้อผูกมัดท้องถิ่นของฉันไปยังที่เก็บของฉันใน BitBucket ( Authentication failed for 'https://______.git') ได้ แต่ฉันลืมวิธีอัปเดตรหัสผ่านที่แคชไว้ใน iMac ของฉัน ยังไงก็เถอะฉันไม่สามารถพบมันใน Google หรือ Stack Overflow ได้ แต่ดูเหมือนว่าสำหรับฉันมันควรจะตรงไปตรงมา ...


5
ก็อาจจัดเก็บไว้ใน OS X พวงกุญแจ (เก็บรหัสผ่าน)
knittl

2
อาจอยู่ในไฟล์. git / config ของคุณหากชื่อผู้ใช้ / รหัสผ่านของคุณถูกเก็บไว้ด้วย git url
Erik Kerber

คำตอบ:


867

ในการแก้ไขปัญหานี้ใน macOS คุณสามารถใช้

git config --global credential.helper osxkeychain

พรอมต์ชื่อผู้ใช้และรหัสผ่านจะปรากฏขึ้นพร้อมกับการกระทำ Git ครั้งต่อไปของคุณ (ดึงโคลนกด ฯลฯ )

สำหรับ Windows มันเป็นคำสั่งเดียวกับอาร์กิวเมนต์ที่ต่างกัน:

git config --global credential.helper wincred

45
ใน Mac OS 10.12.2 และเมื่อฉันทำข้างต้น - ตรวจสอบและตรวจสอบสองครั้งว่าฉันป้อนถูกต้อง - และไม่มีอะไรเกิดขึ้น
b_dubb

59
@b_dubb มันอาจจะไม่ทำอะไรเลยจนกว่าคุณจะเอื้อมมือออกไปในครั้งต่อไป (push, pull, fetch) จากนั้นคุณจะได้รับพร้อมท์ให้ใส่ข้อมูลประจำตัว
2782001

3
@ user2782001 ฉันใช้ตัวช่วย osxkeychain การรันคำสั่ง mac ไม่ได้ทำอะไรเลย ฉันสงสัยว่าถ้ามีคนไม่ได้ใช้ตัวช่วยมาก่อนเปลี่ยนการกำหนดค่าเพื่อใช้ตัวช่วยก็จะเห็นว่าไม่ได้ป้อนรหัสผ่านสำหรับระยะไกลนั้นก็จะแจ้งให้และทุกอย่างจะดีในครั้งแรก การเปลี่ยนแปลงการกำหนดค่าครั้งต่อไปจะไม่พร้อมต์ คำตอบด้านล่างทำงานสำหรับฉัน
Neuralmer

102
ไม่ทำงานบน windows ไม่ถามรหัสผ่านใหม่
disklosr

8
มันทำงานบน Mac OS Mojave ขอบคุณ!
เหงียนทราน

509

ไม่มีคำตอบอื่นใดที่เหมาะกับฉันบน MacOS Sierra 10.12.4

นี่คือสิ่งที่ฉันต้องทำ:

git config --global --unset user.password

จากนั้นรันคำสั่ง git ของคุณ (เช่น git push) แล้วป้อนชื่อผู้ใช้และรหัสผ่านของคุณอีกครั้ง


40
นี่เป็นวิธีการที่เหมาะสมสำหรับฉัน (บน mac)
shdobxr

1
สิ่งนี้ช่วยฉัน! ฉันเก็บมันไว้ในผู้แต่ง แต่มันก็เป็นการสร้าง auth.json ซึ่งมันน่ารำคาญเพราะฉันลืมเพิ่มลงใน. gitignore เสมอ
cbloss793

1
ขอบคุณที่ทำงาน! ก่อนหน้านั้นมีข้อความแจ้งให้ฉันระบุรหัสผ่าน แต่แม้ว่าฉันจะป้อนรหัสผ่านอัตโนมัติใหม่ยังคงล้มเหลว
Paul Taylor

6
สิ่งนี้ไม่ได้ทำเพื่อฉันบน Windows หลังจากคำสั่งนี้ฉันได้พยายามที่จะผลักดันและมันก็ประสบความสำเร็จดังนั้นรหัสผ่านยังคงสามารถใช้ได้สำหรับคอมไพล์
ยืนอยู่คนเดียว

1
ทำงานบน Win10 ประการแรกฉันใช้คำสั่งจากคำตอบนี้และต่อมาก็ง่ายๆgit pull- ป๊อปอัปของ Windows ปรากฏขึ้นเพื่อขอรหัสผ่าน ขอบคุณ!
shemekh

430

ใน Windows 10 พร้อม Git

ลบ / อัปเดตข้อมูลรับรองที่เกี่ยวข้องที่จัดเก็บไว้ในข้อมูลรับรอง Windows ใน >> แผงควบคุม \ รายการทั้งหมดในตัวจัดการข้อมูลประจำตัวผู้จัดการ

ป้อนคำอธิบายรูปภาพที่นี่


9
นี่เป็นวิธีที่แน่นอน สำหรับผู้ใช้ที่ต้องทำงานกับระบบปฏิบัติการเวอร์ชันภาษาดัตช์: หนังสือรับรอง ---> referentiebeheer
dexter

10
นี่เป็นทางออกที่ง่ายที่สุด สิ่งที่คุณต้องทำคือแก้ไข ขอบคุณ
yuva

4
Btw เส้นทางสำหรับฉันคือแผงควบคุม \ บัญชีผู้ใช้ \ ตัวจัดการข้อมูลผู้ใช้ แต่ที่ดีที่สุดคือการพิมพ์ข้อมูลประจำตัวเพื่อกระโดดเข้าด้านขวา
Everts

1
ขอบคุณมาก! บันทึกวันของฉัน
Dhaval Patel

2
นอกจากนี้ยังใช้งานได้บน Windows 7 ขอบคุณ :)
Vladislav

164

วิธีเดียวที่ฉันสามารถแก้ไขรหัสผ่าน git ของฉันได้คือไปที่ตัวจัดการข้อมูลประจำตัวใน Windows (Windows Key + ประเภท 'หนังสือรับรอง') และแก้ไขรายการ git ภายใต้ข้อมูลประจำตัวของ Windows Cred หนังสือรับรองทั่วไป หมายเหตุ: ไม่ได้เรียงตามตัวอักษร


5
คำถามถูกถามสำหรับ macOS
Saikat

14
@Sikik และยังเราหลายคนมีคำถามเดียวกันสำหรับ windows ท้ายพบคำถาม SO นี้ เกือบจะเหมือนคำถามตัวเองในขณะที่แท็ก Macos ไม่ได้เฉพาะระบบปฏิบัติการ!
iheanyi

1
นี่เป็นคำตอบเดียวที่ทำงานกับฉันใน Win 10
Kolob Canyon

87

ฉันมีปัญหาเดียวกันและคำตอบที่ยอมรับไม่ได้ช่วยฉันเพราะรหัสผ่านไม่ได้เก็บไว้ในพวงกุญแจ ฉันพิมพ์:

git pull https://myuser@bitbucket.org/mypath/myrepo.git

จากนั้นคอนโซลจะขอรหัสผ่านใหม่ให้ฉัน


1
ฉันพยายามเช่นนี้เท่านั้น แต่ยังปรากฏป๊อปหนังสือรับรองแทนรหัสผ่านรีเซ็ต
Anita Mehta

มันใช้งานได้สำหรับฉัน แต่ฉันต้องรีเซ็ต captcha ก่อน ขอบคุณ.
fiskra

77

ใน windows 10 ที่กล่าวถึงข้างต้นโดย @Imran Javed คุณสามารถค้นหาข้อมูลรับรองทั่วไปได้ที่:

แผงควบคุม \ รายการทั้งหมดในแผงควบคุม \ ตัวจัดการข้อมูลประจำตัว -> ข้อมูลประจำตัวของ Windows

สำหรับเซิร์ฟเวอร์ git ของคุณจากนั้นคุณสามารถอัปเดตรหัสผ่านได้โดยคลิกปุ่มแก้ไข

ป้อนคำอธิบายรูปภาพที่นี่


@halxinate คุณใช้ระบบปฏิบัติการใด นี่สำหรับ windows 10
nzrytmn

31

วิ่งgit config --global --unset user.passwordตามด้วยคำสั่ง git ใด ๆ จะแจ้งให้คุณป้อนชื่อผู้ใช้และรหัสผ่าน

git config --global --unset user.password
git push (will prompt you for the password)
git status (will not prompt for password again)

9
การเรียกคำสั่ง git push (หรือ pull) เพียงแค่ให้ข้อผิดพลาดในการตรวจสอบสิทธิ์แก่ฉันและการเข้าถึงถูกปฏิเสธ ไม่ได้แจ้งให้ฉัน
John Demetriou

คำตอบนี้ไม่ครอบคลุมถึงสิ่งที่ Derek ไม่ครอบคลุม
Bonifacio2

26

ในเครื่อง Windows ของฉันฉันลองใช้วิธีแก้ปัญหาของ @nzrytmn เช่นแผงควบคุม> ค้นหาข้อมูลรับรอง> เลือก "ManageCredentials"> แก้ไขข้อมูลรับรองใหม่ภายใต้หมวดหมู่ตัวเลือก git ที่สอดคล้องกับชื่อผู้ใช้ของฉัน จากนั้น

รหัสผ่านปัจจุบันที่ถูกลบ:

git config --global --unset user.password

เพิ่มรหัสผ่านใหม่:

git config --global --add user.password "new_password"

และมันก็ได้ผลกับฉันด้วย


ไม่ได้ผลสำหรับฉัน ฉันได้แก้ไขปัญหาตามที่อธิบายไว้ที่นี่: cmatskas.com/how-to-update-your-git-credentials-on-windows
vlad

ไม่ทำงานเรียนสองเท่า
Kamlesh

18

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

ลิงค์สำหรับการอ้างอิง: อัปเดตข้อมูลประจำตัวของคุณผ่านทาง Keychain Access

ทำงานให้ฉัน :)


1
นี่คือสิ่งที่ได้ผลสำหรับฉัน! ช่วยให้เราสามารถอัปเดตรหัสผ่านจากrepo หนึ่ง คำแนะนำอื่น ๆ บางส่วนในหน้านี้จะส่งผลกระทบต่อทุกสิ่งที่คอมไพล์แตะ
Stefan Lasiewski

13

ฉันผลักเข้าไปในพื้นที่เก็บข้อมูลเป็นครั้งแรก ดังนั้นจึงไม่มีHEADกำหนด

วิธีที่ง่ายที่สุดคือ:

git push -u origin master

จากนั้นจะพร้อมท์รหัสผ่านและเมื่อคุณป้อนว่าจะได้รับการบันทึกโดยอัตโนมัติและคุณจะสามารถกดได้


ถ้าฉันผลักจากท้องถิ่นไปยังเซิร์ฟเวอร์ระยะไกลของฉันฉันต้องใช้รหัสผ่านใด นี่เป็นรหัสผ่านข้อมูลประจำตัวของเซิร์ฟเวอร์ระยะไกลของฉันหรืออื่น ๆ
Fawwad

@Fawwad มันเป็นรหัสผ่านสำหรับพื้นที่เก็บข้อมูลระยะไกล
Pritam Banerjee

3
เซิร์ฟเวอร์ระยะไกลของฉันไม่ใช่ github.com เป็นเซิร์ฟเวอร์เฉพาะของฉันที่ฉันติดตั้ง Git
Fawwad

ฉันเข้าใจว่าสิ่งนี้จะช่วยคุณผลักดันในครั้งแรก แต่จะช่วยอัปเดตรหัสผ่านที่บันทึกไว้ได้อย่างไร
timwaagh

@Fawwad มันไม่สำคัญว่าคุณจะใช้อะไร คุณยังต้องให้ข้อมูลประจำตัวที่ให้การเข้าถึงการเขียนไปยังที่เก็บที่คุณต้องการเขียน
iheanyi

8

ทำตามขั้นตอนเหล่านี้ใน Terminal:

  1. ลบรหัสผ่านปัจจุบันที่บันทึกไว้ใน Mac ของคุณ

    git config --global --unset user.password
    
  2. เพิ่มรหัสผ่านใหม่ของคุณโดยใช้คำสั่งนี้แทนที่ด้วยรหัสผ่านใหม่ของคุณ:

    git config --global --add user.password <new_pass>
    

4
วิธีนี้รหัสผ่านของคุณจะได้รับการบันทึกไว้ในประวัติและทุกคนที่รันคำสั่งประวัติสามารถเห็นว่าเป็นข้อความธรรมดา เพื่อป้องกันไม่ให้คุณสามารถเพิ่มพื้นที่พิเศษก่อนคำสั่งหรือเรียกใช้คำสั่งนี้ 'ประวัติ -d 1234' ด้วย ID บรรทัดที่เหมาะสมหลังจากนั้น
Lavandysh

8

หากข้อมูลประจำตัวของคุณถูกเก็บไว้ในผู้ช่วยข้อมูลประจำตัววิธีการพกพาในการลบรหัสผ่านที่ยืนยันสำหรับโฮสต์ที่เฉพาะเจาะจงคือการโทรgit credential reject:

$ git credential reject
protocol=https
host=bitbucket.org
⏎

หรือ

$ git credential reject
url=https://bitbucket.org
⏎

git fetchหลังจากนั้นให้ใส่รหัสผ่านใหม่ของคุณพิมพ์


2
คำเตือน: บรรทัดข้อมูลรับรองไม่ถูกต้อง: ร้ายแรง: ไม่สามารถอ่านหนังสือรับรองจาก stdin
pinei

7

มีความสับสนในคำถามนี้เนื่องจากมีความซับซ้อนมากเกินไปในคำถามนี้ MacOS เครื่องแรกกับ Win10 จากนั้นกลไกการตรวจสอบที่แตกต่างกัน

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

Windows 10: | | -

MacOS: | |-- Using git config to store username and password: | git config --global --add user.password | |---- first time entry | git config --global --add user.password <new_pass> | |---- password update | git config --global --unset user.password | git config --global --add user.password <new_pass> | |-- Using keychain: | git config --global credential.helper osxkeychain | |---- first time entry | Terminal will ask you for the username and password. Just enter it, it will be | stored in keychain from then on. | |---- password update | Open keychain, delete the entry for the repository you are trying to use. | (git remote -v will show you) | On next use of git push or something that needs permissions, git will ask for | the credentials, as it can not find them in the keychain anymore.


มันได้ผล. รัน <git config --global --unset user.password> จากนั้น <git push origin master> จะถามชื่อผู้ใช้และรหัสผ่าน ขอบคุณ
Renhuai

5

คุณสามารถเปลี่ยนรหัสผ่านผ่านบรรทัดคำสั่งได้ 2 แห่งต่อไปนี้จะแก้ไขข้อมูลประจำตัวเพื่อเชื่อมต่อ repo

git config --edit 

ข้อมูลรับรองยังสามารถเปลี่ยนแปลงได้ทั่วโลกโดยใช้พารามิเตอร์ส่วนกลางเช่นด้านล่าง

 git config --global --add user.password "XXXX"

หรือตั้งผู้ช่วยข้อมูลรับรองด้วย

git config --global credential.helper wincred

แต่ถ้าคุณมีข้อมูลประจำตัวระดับ repo ตั้งใช้คำสั่งแรก

git config --edit

5

สำหรับ Mac

หากคุณมีที่เก็บข้อมูลระยะไกลหลายแห่ง (Github, Bitbucket, Job ฯลฯ )

1) เรียกใช้ในไดเรกทอรีโครงการ

git config --unset user.password

2) เรียกใช้คำสั่ง git จากระยะไกล (เช่น. git push หรือ git pull)

Git จะแจ้งให้คุณป้อนชื่อผู้ใช้และชื่อผู้ใช้ของคุณอีกครั้งสำหรับที่เก็บนี้

หรือคุณสามารถทำได้ทั่วโลกหากคุณมีที่เก็บข้อมูลระยะไกลเพียงแห่งเดียว

git config --global --unset user.password

4

หากคุณใช้ GitHub และเปิดใช้งานการตรวจสอบสิทธิ์แบบ 2 ระดับคุณต้องป้อนโทเค็นการเข้าถึงส่วนบุคคลแทนรหัสผ่านของคุณ

รีเซ็ตรหัสผ่านของคุณเป็นครั้งแรก:

git config --global --unset user.password

จากนั้นเข้าสู่บัญชี GitHub ของคุณที่มุมขวาคลิกที่การตั้งค่าแล้วการตั้งค่านักพัฒนา สร้างโทเค็นการเข้าถึงส่วนบุคคล คัดลอก

git push

เทอร์มินัลจะแจ้งให้คุณทราบชื่อผู้ใช้ของคุณ: ป้อนที่อยู่อีเมลของคุณ

ที่พรอมต์รหัสผ่านให้ป้อนโทเค็นการเข้าถึงส่วนบุคคลแทน


2

ฉันจะพยายามลบบัญชีของฉันใน Keychain Access แล้วเรียกใช้git cloneอีกครั้ง Git จะขอรหัสผ่านใหม่ให้ฉัน


นี่คือสิ่งที่ฉันเลือกที่จะทำ ฉันมีบัญชี GitHub หลายบัญชีที่เก็บไว้ใน Keychain ฉันเลือกที่จะลบพวกเขาทั้งหมด ผลักสาขาท้องถิ่นของฉันสำเร็จ
Coach Roebuck

1
ไม่ใช่คำตอบที่ดี การโคลนซ้ำเป็นวิธีที่ง่ายเกินไปสำหรับงานง่าย ๆ นี้
Kolob Canyon

2

พยายามทุกอย่าง แต่ไม่มีอะไรทำงาน จากนั้นต่อไปนี้ก็ใช้งานได้

  1. ก่อนที่จะทำตามขั้นตอนข้างต้นล็อคและปลดล็อคพวงกุญแจอีกครั้งเพราะบางครั้งมันก็ติดขัด
  2. ติดตั้ง GitHub Desktop - ช่วย

คุณจะทำอย่างไร
Shekhar Sahu

2

สำหรับผู้ที่กำลังมองหาวิธีรีเซ็ตการเข้าถึงพื้นที่เก็บข้อมูล โดยตัวอย่างของ GitHub คุณสามารถเปลี่ยนรหัสผ่านโปรไฟล์ GitHub ของคุณและยกเลิก "โทเค็นการเข้าถึงส่วนบุคคล" ทั้งหมดใน "การตั้งค่า -> การตั้งค่านักพัฒนา" ของโปรไฟล์ของคุณ นอกจากนี้คุณยังสามารถเลือกล้างคีย์ SSH / PGP และแอป OAuth / GitHub ทั้งหมดของคุณเพื่อให้แน่ใจว่าการเข้าถึงพื้นที่เก็บข้อมูลถูกบล็อกอย่างสมบูรณ์ ดังนั้นตัวจัดการข้อมูลรับรองทั้งหมดในระบบใด ๆ จะล้มเหลวในการให้สิทธิ์และแจ้งให้คุณป้อนข้อมูลประจำตัวใหม่


2

ขั้นตอนต่อไปนี้สามารถแก้ไขปัญหา .....

  1. ไปที่โฟลเดอร์ ~ / Library / Application Support / SourceTree
  2. ลบไฟล์ {Username}@STAuth-bitbucket.org
  3. รีสตาร์ท Sourcetree
  4. พยายามที่จะดึงรหัสผ่านปรากฏขึ้นให้รหัสผ่านใหม่ของคุณ
  5. นอกจากนี้ยังสามารถเรียกใช้คำสั่ง "เรียก git" ใน terminal และต้องพิมพ์รหัสผ่าน
  6. เสร็จสิ้น

2

เพียงโคลนหนึ่งใน repos ที่มีอยู่ของคุณสิ่งนี้จะแจ้งให้คุณทราบข้อมูลประจำตัวใหม่:
เช่น

git clone https://myuser@bitbucket.org/mypath/myrepo.git

// https: //myuser@bitbucket.org/mypath/myrepo.gitเป็นที่อยู่ของหนึ่งใน repos ที่คุณมีอยู่


1

ในบทความนี้พวกเขาอธิบายในวิธีที่ง่ายมาก แต่โดยทั่วไปเราเพียงแค่ต้องดำเนินการgit remote set-url origin "https://<yourUserName>@bitbucket.org/<yourRepo>"และครั้งต่อไปที่คุณทำgit pullหรือgit pushคุณจะต้องใส่รหัสผ่านของคุณ


1

รหัสผ่านของฉันดีในการตั้งค่าเดสก์ท็อป Github แต่ผิดในไฟล์. git / config

สำหรับฉันทางออกเดียวที่ทำงานคือแก้ไขไฟล์: .git / config

ที่มีบรรทัดนี้: url = https: // user: password@github.com/user/repo.git

เปลี่ยนรหัสผ่านเป็นรหัสผ่านที่ดีเพราะมันเก่ากว่าสำหรับฉัน


0

หากวิธีการข้างต้นไม่ทำงานให้ลองเปลี่ยน urit ลบ git ของคุณ

git ระยะไกล

คอมไพล์ชุด URL ระยะไกล


0

ฉันสามารถเปลี่ยนรหัสผ่าน git ของฉันได้โดยไปที่ Credential Manager ใน Windows และลบรายการ git ทั้งหมดภายใต้ Windows Credentials Cred หนังสือรับรองทั่วไป

เมื่อทำการดึง git หรือ git push windows จะถามชื่อผู้ใช้ / รหัสผ่านใหม่


0

สำหรับผู้ใช้ MAC การใช้ git GUI (ใช้งานได้กับ Sourcetreeอาจใช้ได้กับผู้อื่นเช่นกัน) ต้องการเพิ่มหมายเหตุเล็ก ๆ ให้กับคำตอบของ Derek ( https://stackoverflow.com/a/45703718/7138492 ) ข้อเสนอแนะเดิม:

$ git config --global --unset user.password

ควรตามด้วย push / pull / fetch แต่อาจไม่ทำงานเมื่อทำจาก GUI กรณีการทำงาน% 100 จะทำคำสั่ง git ที่พร้อมรับคำสั่งครั้งแรกจากคอนโซล นี่คือตัวอย่าง:

  1. ค้นหาไปยังไดเรกทอรีรากที่เก็บ git ของคุณ
  2. พิมพ์ใน $ git config --unset user.password
  3. ดำเนินการต่อด้วยคอมไพล์ยกย่องให้คุณเลือกใน terminal เช่น: $ git push

จากนั้นจะขอให้คุณระบุรหัสผ่านใหม่


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