'Git kimlik bilgisi-osxkeychain'de depolanan kimlik bilgilerini nasıl sıfırlarsınız?


104

Hesabımı kurmak için GitHub talimatlarını takip ettim ve klonlayabiliyorum, ancak uzaktan zorlayamıyorum.

Bir "git push" yaptığımda 403 hatası alıyorum. Doğru URL'ye sahip. Ne verdiğini görmek için bir "git kimlik bilgisi-osxkeychain get" denedim ve bu yanlış kimlik bilgilerini yazdırıyor.

İnanıyorum ki, ilk kez kimlik bilgilerini istedi, soran başka bir uygulama olduğunu düşündüm ve yanlış olanları koydu.

GitHub hesabım için doğru anahtar zinciri öğesini kullanması için onu sıfırlamam gerekiyor.

Denedim:

git credential-osxkeychain erase
git credential-osxkeychain set

Program asla herhangi bir uyarı vermez. Doğru şeyi yapmazsam set "kötü girdi" diyecek. " password=password" Vb. Eklemeyi denedim , ama sonra bir "elde" yaptığımda hala eski olanları alıyorum.

.Gitconfigure biçiminde olmadıkları için bunların nerede saklandığını anlayamıyorum. Dahası, olabilecek yeni anahtar zinciri öğeleri yok. (Anahtar zincirimde birkaç GitHub hesabım var ve hiçbirini kullanmıyor.)




Yanıtlar:


126

Terminalden: (Aşağıdaki üç satırı girmeniz gerekmektedir)

 $ git credential-osxkeychain erase ⏎
 host=github.com  ⏎
 protocol=https   ⏎
 ⏎
 ⏎

NOT: yukarıya “protokol = https” girdikten sonra ~~ RETURN ~~ İKİ KEZ basmanız gerekir (Her '⏎', 'enter / return tuşuna bas' ile eşdeğerdir)


3
Nedense Anahtar Zinciri uygulamasında Git / GitHub kimlik bilgisi bulamadım, ancak bu işe yaradı. Teşekkürler!
Donald

5
Bu benim için net olmadığından: yukarıdaki 3 satırın hepsini girmeniz ve ardından tekrar return tuşuna basmanız gerekir - yani yukarıdaki 2/3 satırları komuttan değil girdidir.
Frederik

Bu cevap bana yardımcı oldu. Çok teşekkür ederim!
Ken Flake

72

Komut satırından nasıl silineceğinden emin değilim, ancak bunu Keychain Access uygulamasıyla yapmak oldukça kolay. Uygulamalar -> Yardımcı Programlar -> Anahtar Zinciri Erişimi'ne gidin ve ardından "github.com" yazın. Geçersiz öğeyi silebilir veya şifreyi uygulamadan güncelleyebilirsiniz.


4
Bunu okuyan biri komut satırından nasıl yapılacağını anlarsa, bilmek güzel olur.
funroll

1
@funroll Komut satırı aracı security. Man sayfası bir delete-internet-passwordkomutu olduğunu belirtir .
benzado

Güncelleme için teşekkürler, eminim ki birisi için faydalı olacaktır.
funroll

bu en iyi çözüm
Elias Fazel

Hangi anahtarlıktan?
Bryan Bryce

30

Çözüm şuydu:

Komut git credential-osxkeychain, anahtar zincirimdeki ilk GitHub hesap girişini kullanıyordu . Söz konusu projelere erişimi olan bu değildi.

Keychain Access'teki hesaba dokunarak sorunu çözdüm, böylece tarihi değişti (sanırım az önce yorumu değiştirdim) ve şimdi en son GitHub hesabı haline geldiğine göre, kimlik bilgisi-osxkeychain'e dönen ilk hesap oldu ve böylece her şey çalıştı .

Birden çok GitHub hesabı için daha iyi bir destek biçimi güzel olurdu, ancak çoğu insanın yalnızca bir birincil hesabı olması ve bu soruna rastlamaması muhtemeldir.


2
Bunun aynı ana bilgisayardaki birden fazla kullanıcı için nasıl çalıştığından emin değilim, ancak ~/.ssh/configOSX Anahtar Zinciri kullanmak yerine ssh'ı kontrol edebilir ve bir dosya kullanabilirsiniz. Bu, farklı ana bilgisayarlar (ve aynı zamanda düşünen hesaplar) için birden fazla ssh anahtarınızın olabileceği durumlarda kullanılır. nerderati.com/2011/03/17/…
jusopi

10

git-credential-osxkeychain, parolaları yukarıda belirtildiği gibi Apple Keychain'de saklar.

Varsayılan olarak gitcredentials yalnızca alan adını dikkate alır. Git'in tam yolu düşünmesini istiyorsanız (örneğin, birden fazla GitHub hesabınız varsa), http://git-scm.com/docs/gitcredentials.html adresinde açıklandığı gibi useHttpPathdeğişkeni olarak ayarlayın . Bu ayarı değiştirmenin her URL için kimlik bilgilerinizi tekrar soracağını unutmayın.true


7

Mac'te komutu kullanın git credential-osxkeychain erase.

VEYA UygulamalarYardımcı ProgramlarAnahtar Zinciri Erişimi'nden anahtar zincirinden manuel olarak kaldırın . Ardından github.com anahtar zincirini kaldırın. Sonra itme kullanın; anahtar zinciri erişimini isteyecektir; sonra inkar et.

Yeni kullanıcı adını ve şifreyi soracak, ekleyecek ve bunun için bir dosya gönderecektir.

git pushBu hatayı bulduktan sonra . Sonra büyük harf sorununu kullanıyorum:

uzak: user1 / file.git izni, user2'ye reddedildi (önceden var olan kullanıcı). önemli: ' https://github.com/xxxxxxxxxxxx/ ' erişilemiyor : İstenen URL hata döndürdü: 403



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.