Git kimlik bilgisi yardımcısı - parolayı güncelle


198

Şu anda HTTPS üzerinden GitHub kullanıyorum ve Windows 7'deki Git kimlik yardımcısıyla birlikte Git'in en son sürümünün (1.9.0) yüklü olması.

Ortamımı kurarken, git-kimlik bilgilerine kullanıcı adımı ve şifremi kalıcı olarak hatırlamasını söyledim.

Kısa süre önce GitHub şifremi web sitesi üzerinden güncelledim ve artık itme / çekme / getirme vb.

Windows 7'de git-credentials yardımcısında parolamı güncellemeye nasıl başlayabilirim?


6
Basit, "git config --global credential.helper wincred" kullanın ve kullanıcı kimliği ve şifre girin; bu sizin için saklanır, şifrenizi bir daha değiştirdiğinizde yukarıdaki komutu tekrar çalıştırın.
Akshay Lokur

@AkshayLokur bu doğru cevap.
Ravimallya

Her şey başarısız olursa ve TortoiseGit kullanıyorsanız, bununla bir eylem denemek isteyebilirsiniz. Örneğin, Tortoise kullanarak çekme veya getirme parolayı sorar ve daha sonra güncelleyebilirsiniz. Bu, Git Bash önbelleğinin üzerine yazılıyor gibi görünüyor ve bash'ı bir kez daha kullanabilirsiniz.
Paul F. Wood

Yanıtlar:


282

Bu yanıtların hiçbiri Git kimlik bilgisi sorunum için işe yaramadı. İşte kimse ihtiyacı varsa işe yarayan (Windows 8.1'de Git 1.9 kullanıyorum).

Kimlik bilgilerinizi güncellemek için Denetim MasasıKimlik Bilgisi YöneticisiGenel Kimlik Bilgileri seçeneğine gidin . Git hesabınızla ilgili kimlik bilgilerini bulun ve güncellenmiş şifreyi kullanmak için düzenleyin.

Başvuru: Git kimlik bilgilerinizi Windows üzerinde güncelleme

Git için Windows Kimlik Bilgisi Yöneticisi'ni kullanmak için kimlik bilgisi yardımcısını şu şekilde yapılandırmanız gerektiğini unutmayın:

git config --global credential.helper wincred

Farklı depolar için kullandığınız birden fazla GitHub hesabınız varsa, kimlik bilgilerini tam depo yolunu kullanacak şekilde yapılandırmanız gerekir (yalnızca varsayılan etki alanı yerine):

git config --global credential.useHttpPath true

21
Eğer git config --listiçeriyorsa , bu kabul edilen cevap olmalıdır credential.helper=wincred.
MF

6
Benim için çalıştı - teşekkür ederim - ve Windows kimlik yöneticisi hakkında da öğrendim.
rwalter

Bu. şifreyi değiştirmek işe yaramadı ama kimlik bilgilerini sildim ve git push tekrar kimlik bilgileri istedi ve işe yaradı.
BiAiB

2
Pencere 8.1 ve pencere 10 için de işe yaradığını düşünüyorum. Benim durumumda: pencere 10 Pro, git 2.17
Thinhbk

2
(Benim gibi), başka bir bilgi istemini umarak depolanan kimlik bilgilerini kaldıran ancak bilgi istemi görünmeyen herkes için. Kimlik Yöneticisi, şunları yapabilirsiniz ADDbir Generic Credentialan adresiyle git:http://yourserver:port/. Http veya Https aynı, önemli bit git:başlangıçta.
A. Chiesa

101

Şifre değişikliğimden sonra Git getirme girişimimde, kullanıcı adı / şifre kombinasyonumun geçersiz olduğu söylendi. Git-kimlik bilgisi yardımcısı eski değerlerimi önbelleğe aldığından bu doğruydu.

Ancak, terminal / komut istemimi yeniden başlattıktan sonra başka bir git getirmeyi denedim ve bu sefer kimlik bilgisi yardımcısı GitHub kullanıcı adı ve şifremi girmemi istedi.

İlk başarısız Git getirme isteğinin, terminal / komut istemimi yeniden başlatmayla birlikte bunu benim için çözdüğünden şüpheleniyorum.

Umarım bu cevap gelecekte benzer bir pozisyonda herkese yardımcı olur!


2
Git Bash'i yeniden başlatmanız yeterlidir, yeni bir kullanıcı adı / şifre girmeniz için bir iletişim kutusu açılır.
Quan

2
Kayıt için, Windows 7'de Powershell oturumumu yeniden başlatmadan başka bir çekme / getirme yaparak bu sorunu çözebildim. Windows ikinci denemede yeni kredilerimi istedi.
En Büyük Bender

Konsolu / uygulamayı yeniden başlatmak benim için "wincred" iş yaptı. (
Konsolumu

3
Kimlik bilgilerini ikinci kez gerektiren herhangi bir git komutunun girilmesi bunu yapıyor gibi görünüyor, sadece git fetchbir saniye üzerinde de çalıştı git clone.
navigator_

çok teşekkür ederim! Alan adı şifremi her değiştirdiğimde kimlik bilgilerimi nasıl güncelleyeceğimi hatırlamalıyım. Getirme - Benim için çalıştı!
Alexander Brattsev

74

Windows, Linux ve MacOS için komut satırı kullanarak çözüm

GitHub şifrenizi GitHub sunucusunda güncellediyseniz, git fetch/pull/pushkomutun ilk denemesinde kimlik doğrulama başarısız mesajı oluşturur.

Aynı işlemi yap git fetch/pull/push komutu ikinci kez çalıştırdığınızda kimlik bilgilerini ister (kullanıcı adı ve şifre). GitHub sunucusunun kullanıcı adını ve yeni güncellenmiş parolasını girin, oturum açma başarılı olacaktır.

Ben bile bu sorunu vardı, ve yukarıdaki adımları gerçekleştirdi ve bitti !!


@ Vincent: Sorun ne?
Farooque

2
Uzaktan kumandayı tekrar alıyorum: Geçersiz kullanıcı adı veya şifre. ölümcül: Kimlik doğrulama başarısız oldu
RichMeister

1
@RichMeister: İkinci kez kullanıcı adı / şifre isteyecektir. Sadece kullanıcı adınızı / yeni_şifrenizi girin.
Farooque

3
Parola değişikliğinden sonra önbelleğe alınmış kimlik bilgilerine sahip MacOS'ta benim için çalıştı. İlk kez 'Kimlik Doğrulaması Başarısız Oldu ...' iletisini alın. Tekrar denedim ve kimlik bilgileri istendi, kullanıcı kimliği ve yeni şifre girin ve şimdi tekrar çalışıyor
Kevin Hooke

1
Bu en iyi / en kolay cevap
Ryan Boken

74

Windows kullanıcısıysanız Kimlik Bilgileri Yöneticisi'ndeki kimlik bilgilerinizi kaldırabilir veya güncelleyebilirsiniz.

Windows 10'da aşağıdaki yola gidin:

Denetim MasasıTüm Denetim Masası ÖğeleriKimlik Bilgisi Yöneticisi

Veya Başlat menüsündeki "Windows'da Ara" bölümünde "kimlik bilgisi yöneticisi" ni arayın.

Ardından Kimlik Bilgisi Yöneticisi'nden "Windows Kimlik Bilgileri" ni seçin.

Kimlik Bilgisi Yöneticisi, "Genel kimlik bilgileri" altındaki görünümünüz ve GitHub deposu da dahil olmak üzere birçok öğeyi gösterecek

Git'inizin sağ tarafındaki açılır oku tıklayın: düzenleme ve kaldırma seçenekleri gösterilecektir. Kaldırırsanız, kimlik bilgisi açılır penceresi bir dahaki sefer getirdiğinizde veya çektiğinizde gelir. Veya buradaki kimlik bilgilerini doğrudan düzenleyebilirsiniz.


3
Diğer seçenekleri denedikten sonra sadece bu benim için çalıştı. Burada bilgi buldum: cmatskas.com/how-to-update-your-git-credentials-on-windows
neomib

Not: Bu kontrol METRO UI "KONTROL PANELİ" İLE ERİŞİLEBİLİR DEĞİLDİR! control.exeBu kontrolü görmek için manuel olarak çalıştırmanız gerekir.
AnrDaemon

Bu çok yardımcı oldu! Bu araçların var olduğunu bile bilmiyordum.
çene

36

Önce Git komutuyla kullandığınız sürümü bulun git --version. 1.7.10'dan daha yeni bir sürüme sahipseniz, bu komutu kullanın:

git config --global credential.helper wincred

Ardından git fetch, parola güncellemesi istenir.

Şimdi, Git'te birden çok kez parola istemez.


7
Bu soruya cevap vermiyor
disklosr

2
@disklosr Evet öyle. Git'i bir sonraki uzak işleminizde güncellenmiş parola sormaya zorlar.
Nilpo

1
@Nilpo Peki "uzaktan eylem" nedir? "Git push origin xxx" uzak bir eylem olmamalı mı? Bunu yapmıyor. bunun yerine uzaktan alıyorum: Geçersiz kullanıcı adı veya şifre.
RichMeister

1
Benim için çalıştı. Bu komutu yerine getirdikten sonra. "Git getir" i yapın, sizden kimlik bilgileri istenir, sağlayın.
Alex

Neden --global? Yalnızca etkilenen depo yerine tüm depolarım için yeniden soru sorulmayacak mıyım?
Thomas Weller

29

Bana öyle geliyor ki buradaki cevaplar modası geçmiş. Benim için Windows 10 ve Git 2.15.0 altında bu işi yaptı:

git credential reject
protocol=https
host=github.com
<Empty line here>

Ve sonra yeni kullanıcı adını ve şifreyi ayarlamak için:

git credential fill
protocol=https
host=github.com
<empty line here>

Bundan sonra, kimlik bilgileri artık istenen hedef ana bilgisayarda çalışıyorsa, kimlik bilgileri yardımcılarına kimlik bilgilerini onaylanmış olarak işaretlemelerini ve gelecekteki bağlantılarda yeniden kullanmalarını bildirmek için Git kimlik bilgilerinin tipik kullanımındagit credential approve belirtildiği gibi (4. adım) kullanmalıyız.


1
Benim için, git credential fillparçayı olduğu gibi, otomatik olarak eski yanlış şifreyi oluşturdu; Çalışması için yenisini bu komutla manuel olarak ayarlamak zorunda kaldım; Neyse, teşekkürler, bu cevap bana bu problemde yardımcı oldu!
Emerson Cardoso

Yukarı çık! Güncel olmayan çözümleri okumak için ne kadar zaman harcadığınız. Aslında Git Kimlik Yöneticisi burada suçludur Etki alanı şifreleri döndürüldüğünde acı çekmek zorunda düşünüyorum.
Janis Veinbergs

1
sonra fillkullanmamalı mıyız approve?
Z. Khullah

Benim makinede git credential rejecttamamlar asla
Thomas Weller

@ThomasWeller, orada boş bir satır bırakmak için enter tuşuna basmanız gerekiyor, sonra tamamlanıyor.
atavio

19

FWIW, ben de aynı sorun üzerinde tökezledim (ve patronum da, bu yüzden daha yoğunlaştı).

Anlık çözüm, Windows Kimlik Bilgisi Yöneticisi'ndeki Git girişlerinizi silmek veya düzeltmektir. Yerelleştirilmiş Windows sürümünüzde bulmakta zorlanabilirsiniz, ancak neyse ki veya iyi eski Windows+ Rçalıştırma iletişim kutusundan control keymgr.dllveya control /name Microsoft.CredentialManager(veya rundll32.exe keymgr.dll, KRShowKeyMgrklasik görünümü tercih ediyorsanız) başlatabilirsiniz . Veya bunu iş arkadaşlarınız için bir toplu iş dosyasına koyun:cmdkey /delete:git:http://your.git.server.company.com .

Microsoft'un Git Kimlik Bilgisi Yöneticisi'nde bu, 2019'un başlarında çözülebilecek bilinen bir sorundur (bu nedenle nefesinizi tutmayın).


1
Denetim Masası kullanıcı arabirimini kullanarak Windows Kimlik Bilgisi Yöneticisi'ni anlamak harika, ancak tüm makinelerde güncellemeniz gerektiğinde yorucu oluyor. Bu tek komut, aynı şeyi gerçekleştirdiğinden (var olan geçersiz kimlik bilgilerini kaldırır) harika çünkü git'i bir daha ihtiyaç duyduklarında kimlik bilgilerini tekrar istemeye zorlar. Windows Server 2016 tarihinde, kaldır kimlik için komut sözdizimi biraz farklıdır: cmdkey /delete:git:https://your.git.server.company.com
Rudimentary

/delete{:<TargetName>}olduğu resmi sözdizimi , ama kısayol bulundu /del <TargetName>da (1803), Windows 10 en az çalışır.
Jakob

bir takma ad için harika bir fikir! delpw = !cmdkey /delete:git:$(git remote get-url $1). Kullanımı: git delpw origin(ps: / del burada çalışmadı, 10 da kazan)
Z. Khullah

6

Sadece cdgit-credential-winstore'u kurduğunuz dizinde. Nerede olduğunu bilmiyorsanız, Git Bash'te çalıştırın:

cat ~/.gitconfig

Aşağıdaki gibi bir şey yazdırmalıdır:

[credential]
    helper = !'C:\\ProgramFile\\GitCredStore\\git-credential-winstore.exe'

Bu durumda, deponuz C: \ ProgramFile \ GitCredStore şeklindedir. Git Bash veya Windows komutunu kullanarak bu klasörün içine girdikten sonra şunu yazın:

git-credential-winstore.exe erase
host=github.com
protocol=https

EnterSonra iki kez basmayı unutmayın protocol=https.


3

Mevcut çözümlerin hiçbiri git bash 2.26.2 ile işe yaramadı. Windows kimlik yöneticisi kullanıyorsanız bu her durumda çalışmalıdır.

Bir sorun, oturum açmış kullanıcı için windows kimlik yöneticisi çalışır. Örneğin benim durumumda git bash'ı sağ tıklama ile çalıştırıyorum, yönetici olarak çalıştırıyorum. Bu nedenle, depolanan kimlik bilgilerim Windows'a yönetici olarak oturum açmazsam Windows GUI ile erişemediğim bir kimlik bilgileri yöneticisindedir.

Bunu düzeltmek için:

  • Bir cmd'yi yönetici olarak (veya bash ile çalıştırdığınız herhangi bir kullanıcı) açın
  • Windows / system32'ye git
  • Tür cmdkey /list. Eski kimlik bilgileriniz burada ... target: xxx ... yazan bir bölümle birlikte görünmelidir .
  • Yazın cmdkey /delete:xxx, burada xxx önceki satırın hedefidir

Kimlik bilgilerinizin kaldırıldığını onaylamanız gerekir. Git bash'da kimlik doğrulaması gerektiren bir sonraki işleminizde, bir açılır pencere kimlik bilgilerinizi ister.

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.