จะสลับผู้ใช้คอมไพล์ที่เทอร์มินัลได้อย่างไร?


46

ฉันพยายามผลักดันโครงการไปยังที่เก็บระยะไกลจากบรรทัดคำสั่ง

จากในไดเรกทอรีท้องถิ่นของฉันฉันกด:

$ git push

และรับข้อผิดพลาดต่อไปนี้:

รีโมต: การอนุญาตให้ใช้ชื่อผู้ใช้ 1 / repo.git ถูกปฏิเสธเป็นชื่อผู้ใช้ 2
ร้ายแรง: ไม่สามารถเข้าถึง ' https://github.com/username1/repo.git/ ':
URL ที่ร้องขอส่งคืนข้อผิดพลาด: 403

username1ชื่อผู้ใช้บัญชี github ของฉันอยู่ที่ไหนที่ฉันต้องการผลักดันไปยังที่เก็บและusername2เป็นบัญชีเก่าที่ฉันใช้ในเครื่องนี้

ฉันใช้ OS X Yosemite (v10.10.5) บน Macbook Air และฉันชอบที่จะใช้httpsแทนSSH

ฉันจะอัปเดตเป็นอย่างไรเพื่อusername1ให้สามารถผลักดันรีโมตของฉันได้สำเร็จ

แก้ไข: เพื่อความชัดเจนฉันไม่ได้พูดถึงเพียงแค่การแก้ไขconfig userวัตถุเช่น

$ git config --global user.name "Billy Everyteen"
$ git config --global user.email "billyeveryteen@example.com"

พวกเขาไม่มีอะไรเกี่ยวข้องกับการรับรองความถูกต้อง คำถามของฉันเกี่ยวกับการตรวจสอบผู้ใช้ที่จำเป็นในการเขียนไปยังที่เก็บระยะไกล



ขอบคุณ แต่นั่นเกี่ยวข้องกับการตั้งชื่อผู้ใช้เท่านั้น ไม่ใช่การรับรองความถูกต้อง กล่าวอีกนัยหนึ่งเอกสารนั้นแสดงให้เราเห็นถึงวิธีการเชื่อมโยงชื่อของผู้ที่ได้รับเครดิตสำหรับการผูกพัน แต่ไม่อนุญาตให้ผู้ใช้ดันการส่ง
Mowzer

1
คุณอาจจะสามารถที่จะเปลี่ยนผู้ใช้มันคำสั่งเอกสารที่git-scm.com/docs/gitcredentials หรือถ้าคุณต้องการล้างข้อมูลประจำตัวที่คุณอาจมองไปที่คำถามนี้stackoverflow.com/questions/15381198/...
จอห์น

ไม่สามารถแก้ปัญหาได้!
Mihail Salari

ถ้าฉันไม่ต้องการเปลี่ยนการตั้งค่า git ในพื้นที่ล่ะ
นพ

คำตอบ:


42

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

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

คุณจะต้องลบข้อมูลการอนุญาตจาก Keychain นี่คือสิ่งที่ฉันต่อสู้ด้วยจนกระทั่งฉันพบว่าฉันยังมีใบรับรองใน Keychain ของฉันด้วย

gitเปิดการเข้าถึงพวงกุญแจคลิกในทุกรายการและค้นหา คุณจะได้รับรายการเช่นนี้:

ภาพหน้าจอ

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


1
แล้วผู้ใช้ Windows ล่ะ
Aks ..

2
ฉันมีหลายบัญชีฉันควรทำอย่างไร
Amerrnath

ฉันมีปัญหาเดียวกันกับ win7 ฉันไม่แน่ใจว่าทางออกคือ :(
Fiddle Freak


10

สำหรับผู้ใช้ Windows:
ทำตามคำแนะนำ:
แผงควบคุม >> บัญชีผู้ใช้ >> ตัวจัดการข้อมูลรับรอง >> ข้อมูลรับรองของ Windows >> หนังสือรับรองทั่วไป

ลบหนังสือรับรอง git
ครั้งต่อไปเมื่อคุณกด repo ระบบจะขอข้อมูลประจำตัวคุณ
คำตอบอ้างอิงสำหรับคำอธิบายรายละเอียด


ขอขอบคุณ! นั่นคือสิ่งที่ฉันกำลังมองหาบน Windows
JCF

@JCF ยินดีต้อนรับ! ฉันดีใจที่มันช่วย!
Shubham Chadokar

6

แสดงการกำหนดค่า git ของคุณ

git config --list

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

git config --global user.name "Nanhe Kumar"
git config --global user.email "info@nanhekumar.com"

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

git config  user.name "Nanhe Kumar"
git config  user.email "info@nanhekumar.com"

เปลี่ยน repo url ของคุณหากคุณใช้ bit bucket

nano .git/config

ไฟล์นี้จะเป็นอย่างนี้ [core] repositoryformatversion = 0 fileMode = false bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = https://nanhe@bitbucket.org/nanhekumar/myproject.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master

[user]
        name = Nanhe Kumar
        email = info@nanhekumar.com

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