หลังจากที่ฉันเปลี่ยนรหัสผ่าน GitHub ฉันไม่สามารถกดไปที่รีโมทได้:
$ git push origin master
remote: Invalid username or password.
มีเพียงการโคลนที่เก็บอีกครั้งหรือไม่
หลังจากที่ฉันเปลี่ยนรหัสผ่าน GitHub ฉันไม่สามารถกดไปที่รีโมทได้:
$ git push origin master
remote: Invalid username or password.
มีเพียงการโคลนที่เก็บอีกครั้งหรือไม่
คำตอบ:
หากคุณเปลี่ยนรหัสผ่านของรีโมตเท่านั้นไม่ใช่ชื่อผู้ใช้ให้ลองใช้คำสั่งต่อไปนี้เพื่อตรวจสอบข้อมูลของรีโมต: -
ต้นกำเนิดการแสดงระยะไกล git
สิ่งนี้จะถามรหัสผ่านของคุณสำหรับผู้ใช้คอมไพล์ที่ระบุกรอกให้ถูกต้องแล้วลอง: -
git ดึง
หรือ,
git push
ควรใช้งานได้เว้นแต่คุณจะต้องเปลี่ยนสิ่งอื่นเช่นชื่อผู้ใช้หรือ URL ระยะไกลคุณสามารถดูเอกสาร Git ต่อไปนี้: -
https://help.github.com/articles/setting-your-username-in-git/
git remote show origin
แสดงให้เห็น
git remote show origin
ไม่ได้แจ้งให้ฉันทราบ แต่เพียงแค่กระตุ้นฉันshow
ดังนั้นฉันคิดว่ามันล้มเหลว (ในสิ่งที่ฉันต้องการให้ทำ) แต่ในกรณีนี้ฉันลองแล้วgit push origin master
และนั่นก็ทำให้ฉันรู้ ดังนั้น ... ฉันยังคงอยู่ในที่ที่ฉันต้องการ :)
เพื่ออัปเดตรหัสผ่านใน Terminal ของคุณ ลองใช้คำสั่งด้านล่างมันจะแจ้งรหัสผ่านให้คุณอีกครั้ง
git push -u origin master
kenu.heo OPได้ทำงานแก้ไขปัญหาโดยการเอาแล้ว re-โคลนซื้อคืน
แต่สำหรับคนอื่น ๆ :
ขึ้นอยู่กับระบบปฏิบัติการเวอร์ชันคอมไพล์และโปรโตคอลที่คุณใช้
ทั้งนี้ขึ้นอยู่กับระบบปฏิบัติการที่คุณมีวิธีในการแคชข้อมูลประจำตัวของคุณ ( OSX พวงกุญแจบน Mac , ผู้ช่วยการรับรอง Netrc บน Windows หรือ Linux ) และที่อาจอธิบายได้ว่าทำไมการผลักดันของคุณไม่ทำงานหลังจากเปลี่ยนรหัสผ่านของคุณ GitHub
สำหรับพวงกุญแจ, คุณจะต้องรีเซ็ตรหัสผ่านที่เก็บไว้ในนั้น
ปัญหารหัสผ่านนั้นแนะนำว่าคุณกำลังใช้ https url (ไม่ใช่ ssh ซึ่งจะขึ้นอยู่กับคีย์ ssh สาธารณะ / ส่วนตัวและจะไม่ได้รับอิทธิพลจากรหัสผ่านบัญชี GitHub เนื่องจากคีย์ SSH สาธารณะที่ลงทะเบียนกับบัญชี GitHub ของคุณ จะไม่มีการเปลี่ยนแปลง)
ตรวจสอบด้วยไฟล์git remote -v
.
คุณสามารถบังคับให้คอมไพล์ใช้ล็อกอิน GitHub ของคุณด้วย:
git remote set-url origin https://Username@github.com/Username/MyRepo.git
(แทนที่ ' Username
' และ ' MyRepo.git
' ด้วยค่าของคุณเอง)
จากนั้นลองอีกครั้งเพื่อผลักดันควรขอรหัสผ่าน GitHub ของคุณ ใส่อันใหม่
หากไม่ได้ผลให้ตรวจสอบว่าคุณได้เปิดใช้งาน 2FA (2-Form Authentication) หรือไม่ หากเป็นเช่นนั้นคุณต้องสร้าง PTA (Personal Token Access)
ดูเพิ่มเติมที่ " กำหนดค่าไคลเอนต์ Git เช่น GitHub สำหรับ Windows เพื่อไม่ขอการตรวจสอบสิทธิ์ "
git remote set-url origin https://github.com/shared_repo/shared_repo.git
ทำงานให้ฉันบน Windows จาก Git Shell
บนระบบ Windows ไม่มีขั้นตอนใดที่ใช้ได้ผลสำหรับฉันปัญหาคือข้อมูลประจำตัวจะถูกเก็บไว้ใน Windows Credentials Manager
คุณสามารถไปที่Control Panel -> User Accounts -> Credential Manager -> Windows Credentials
ภายใต้ข้อมูลรับรองทั่วไปคุณจะพบ URL คอมไพล์ของคุณขยายส่วนที่เลือกแล้วคลิกแก้ไข
เมื่อแก้ไขแล้วให้ทริกเกอร์ git push อีกครั้งและควรใช้งานได้
ที่มาของข้อมูล: - ลบข้อมูลรับรองออกจาก Git
จากสิ่งที่ฉันเคยพบคุณเพียงแค่ป้อน remote-addrอีกครั้ง
และคอมไพล์จะถาม usr / password สำหรับอันใหม่แทนที่จะเงียบและใช้อันที่เลิกใช้แล้ว
ดูรีโมทของคุณค้นหาว่าคุณต้องการเปลี่ยนอันไหน
>git remote
github
gitcafe
company
ตัวอย่างเช่นหากคุณเปลี่ยนรหัสผ่าน repo ของ บริษัท คุณสามารถทำได้:
>git remote remove company
นี้จะไม่ได้สัมผัสโฟลเดอร์ของคุณ , จะไม่สัมผัสกระทำของคุณ นี่เป็นเพียงการลบสตริง url จาก git
จากนั้นเพิ่ม url นี้อีกครั้ง:
>git remote add company https://git.AyCramba.com/xxx.git
กดไปที่:
>git push company master
username for 'https://git.AyCramba.com':
password for 'https://git.AyCramba.com':
จากนั้นจะเริ่มผลักดัน
หวังว่าจะช่วยได้
git remote set-url
ผมกล่าวถึงในคำตอบของฉันไม่ได้ลบ + เพิ่ม
ชื่อผู้ใช้และรหัสผ่านอาจถูกเก็บไว้ใน Windows Credential Manger ตรวจสอบและอัปเดตที่นั่นหากจำเป็น
(ฉันรู้ว่ามันค่อนข้างชัดเจนและเรียบง่าย แต่อาจช่วยบางคนได้)
สำหรับฉันการรัน git บน Windows7 โดยใช้ git-bash กำลังรัน:
git push origin master
ได้ผล นั่นทำให้ Windows7 ขอเครดิตคอมไพล์ของฉันอีกครั้งจากนั้นจัดเก็บไว้ (ไม่ว่า Windows จะทำอะไรก็ตาม) เพื่ออัปเดตรหัสผ่าน
โอเคโพสต์ต้นฉบับค่อนข้างเก่า แต่เป็นผลการค้นหาอันดับต้น ๆ ใน Google และไม่มีคำตอบใดที่เหมาะกับฉัน โพสต์ SO และ GH อื่น ๆ อีกหลายรายการก็ใช้ไม่ได้เช่นกัน โพสต์สิ่งนี้เพื่อช่วยให้ทุกคนติดตามฉันได้ที่นี่!
สถานการณ์ของฉันแตกต่างกันเล็กน้อย: บัญชี GH ส่วนบุคคลที่ส่งไปยัง repo ของ บริษัท ส่วนตัวโดยใช้ SSH และบรรทัดคำสั่ง git บน Mac รหัสผ่านของฉันจะไม่เก็บไว้ในของฉัน.gitconfig
หรือในพวงกุญแจใด ๆ credential.helper
หรือในคอมไพล์
ในตัวอย่างด้านล่าง PersonalName คือบัญชี GH ของฉัน CompanyName คือ บริษัท (เจ้าของ repo บน GH) และ RepoName คือที่เก็บ
ข้อความแสดงข้อผิดพลาดเดิมของฉันแตกต่างกันบ้างเช่นกัน: git push origin master
ส่งผลให้
remote: Repository not found.
fatal: repository 'https://github.com/CompanyName/RepoName.git/' not found
รีโมทใช้งานได้ก่อนที่จะเปลี่ยนรหัสผ่าน GH ของฉันและฉันไม่ต้องการลบรีโมตออกเพราะฉันมีการเปลี่ยนแปลงในเครื่องที่ฉันต้องพุช
ในที่สุดการตอบกลับโดยseveasเพื่อคำถามนี้บนGitHub ชุมชนชี้ให้ฉันในทิศทางที่เหมาะสม สิ่งสำคัญคือการเชื่อมโยงชื่อบัญชี GH ของฉันกับ repo ระยะไกล (ส่วนตัว)
สิ่งนี้ใช้ได้ผลสำหรับฉัน:
git remote set-url origin https://PersonalName@github.com/CompanyName/RepoName.git
แล้ว
git remote show origin
พร้อมกับ
Password for 'https://PersonalName@github.com':
ฉันสามารถป้อนรหัสผ่านใหม่ดูรายละเอียดระยะไกลและทำgit push origin master
สำเร็จ
หากคุณติดตั้ง Github 2FA Auth คุณต้องมีโทเค็นการเข้าถึงส่วนบุคคล (แทนรหัสผ่าน github ใน git cli) ให้ทำตามคำแนะนำนี้เพื่อสร้าง: https://help.github.com/en/github/authenticating-to -github / การสร้าง-a-personal-access-token-for-the-command-line
จากนั้นทำสิ่งที่ชอบ
git หลักชำระเงิน
git pull origin <--- ณ จุดนี้คุณจะถูกถามถึงข้อมูลรับรองของคุณป้อนผู้ใช้ github ปกติของคุณและเมื่อรหัสผ่านวางโทเค็นที่สร้างขึ้นในลิงค์ด้านบน
คุณสามารถอัปเดตชื่อผู้ใช้และรหัสผ่านโดยคำสั่งนี้:
$ git remote set-url origin https://<USERNAME>:<PASSWORD>@github.com/path/to/repo.git
อย่าลืมเปลี่ยน USERNAME เป็นชื่อผู้ใช้ git และ PASSWORD ของคุณเป็นรหัสผ่าน git ใหม่ของคุณ
ถัดไปน่าgit push
จะเหมาะกับคุณ
เรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ในบทความนี้