git: 'credential-cache' bir git komutu değil


264

Ben takip Bu talimatları şifre önbelleğe alma konusunda kısmı dahil, mektuba. Talimatlar yanlış gibi görünüyor, çünkü her defasında git push origin masterbu hatayı alıyorum:

git: 'credential-cache' is not a git command. See 'get --help'.

... bu noktada kullanıcı adımı ve şifremi girmek zorunda kalıyorum. Bunu yaptıktan sonra, yine aynı hata iletisiyle karşılaşıyorum ve ardından gelen çıktı git push.

İşte .gitconfig dosyamın içeriği:

[user]
    name = myusername
    email = myusername@myemaildomain.com
[credential]
    helper = cache

Açık olmak gerekirse, Git'i yükleyip Git Bash'ı çalıştırdıktan sonra, tam olarak yazdığım şey:

git config --global user.name "myusername"
git config --global user.email "myusername@myemaildomain.com"
git config --global credential.helper cache

Lütfen yardım et. Bu çok sinir bozucu!


53
"Git: 'credential-cache' bir git komutu değildir." İletisini kaldırmak için "git config --global --unset credential.helper" komutunu çalıştırın, ardından aşağıdaki talimatları uygulayabilirsiniz.
Wallace Kelly

5
@Wally +1 Teşekkürler, emriniz sadece kaldırdıktan sonra benim için çalıştı --global.
Web_Designer


1
Alternatif olarak .git / config dosyasını manuel olarak değiştirerek mesajı kaldırabilirsiniz (örn. [kimlik bilgisi] altındaki satırları kaldırın)
tarikakyol

Aşağıda çeşitli Windows önerileri okuyanlar için FWIW, git config credential.helper cache yaptığı Cygwin git sürümü 2.13.2 ile benim için çalış.
Flash Sheridan

Yanıtlar:


323

Gönderen bir blog buldum :

"Git-credential-cache bir Unix soketi üzerinden iletişim kurduğundan, bu [git-credential-cache] Windows sistemleri için çalışmaz."

Windows için Git

Msysgit, Windows için Git'in yerini aldığından, Windows için Git'i kullanmak artık en kolay seçenektir. Git for Windows yükleyicisinin bazı sürümlerinde (örneğin 2.7.4) yükleme sırasında Git Kimlik Bilgisi Yöneticisi'ni etkinleştirmek için bir onay kutusu bulunur. İşte bir ekran görüntüsü:

Git For Windows 2.7.4 install wizard ekran görüntüsü

Hala msysgit kullanıyor musunuz? Msysgit 1.8.1 ve üzeri sürümler için

wincredYardımcı msysgit 1.8.1 eklendi. Aşağıdaki gibi kullanın:

git config --global credential.helper wincred

1.8.1'den eski msysgit sürümleri için

İlk olarak, git-credential-winstore'u indirin ve git bin dizininize kurun.

Sonra git.cmd içeren dizinin Yol ortamı değişkeninizde olduğundan emin olun. Bunun için varsayılan dizin, 64 bit sistemde C: \ Program Files (x86) \ Git \ cmd veya 32 bit sistemde C: \ Program Files \ Git \ cmd'dir. Bunu test etmenin kolay bir yolu bir komut istemi başlatmak ve yazmaktır git. Git komutlarının bir listesini almazsanız, doğru ayarlanmamıştır.

Son olarak, bir komut istemi başlatın ve şunu yazın:

git config --global credential.helper winstore

Veya .gitconfig dosyanızı elle düzenleyebilirsiniz:

[credential]
    helper = winstore

Bunu yaptıktan sonra, git kimlik bilgilerinizi Windows Denetim Masası üzerinden alabileceğiniz Windows Kimlik Bilgisi Yöneticisi aracılığıyla yönetebilirsiniz.


4
gitcredentialstore.codeplex.com SSS içerir. Winstore'u başarıyla yüklememe yardımcı oldu. Git-bash'den çalıştırmazsanız ikili kilitlenir.
ruruskyi

8
FYI Açık yönetici haklarıyla kurmak zorunda kaldım. Onsuz, "git: 'credential-winstore' hatası git komutu değil. Bkz. 'Git --help'" hatası alıyordum. .Gitconfig dosyam da artık biraz daha farklı görünüyor, [kimlik bilgisi satırı] "helper =! '
Malachi

benim işlenmemiş bir istisna atar ve ölür - System.Diagnostics.Process.StartWithShellExecuteEx (ProcessStartInfo startInfo)
Andrew

1
Çok platformlu bir uygulamada neden Unix yuvalarını kullanmaları için bir neden var mı? Ve öyleyse, git-credential-winstore neden varsayılan olarak Git'in Windows sürümü ile birlikte gönderilmez?
Domi

3
Git-credential-winstore aracı benim için çalışmıyor. Eskiden, ama aniden her yere yönlendiriliyorum. .Git-config ve Windows Kimlik Bilgisi Yöneticisi'ni kontrol ettim ve olması gereken her şey var. Sadece işe yaramıyor ve neden olduğu hakkında hiçbir fikrim yok. :(
Chris McKenzie


30

İlk çalıştırma git config --global credential.helper wincred

Sonra şuraya git: CONTROL PANEL\CREDENTIAL MANAGER\WINDOWS CREDENTIAL\GENERIC CREDENTIAL

sonra {username} Internet or network address: ekle git:https://{".github.com

User: {Adı}

Password: {Parola}


2
Kimlik Bilgisi Yöneticisi, Windows 7'de Kullanıcı Hesapları ve Aile Koruması'nda
Casey Murray

1
TEŞEKKÜR EDERİM! Alan adı şifremi değiştirdikten sonra Windows Kimlik Bilgisi Yöneticimi nasıl düzelteceğimi öğrenmek bir saatimi aldı. Kutsal moly, ne labirent.
SadBunny

3
%windir%\explorer.exe shell:::{1206F5F1-0569-412C-8FEC-3204630DFB70}konsoldan da Kimlik Bilgisi Yöneticisi'ni başlatır.
Jeroen Wiert Pluimers

1
Teşekkürler, sorunum düzeltildi :)
Diallo

21

Windows7'de AptanaStudio3 kullanırken bu sorunla karşılaştım. Bu bana yardımcı oldu:

git config --global credential.helper wincred

Kod buradan alınır


10

Windows'da küçük bir exe'ye çift ​​tıklayarak Git şifre önbelleğini kurmanın çok daha kolay bir yolu var . Her git-credential-winstorene kadar proje GitHub'dan http://gitcredentialstore.codeplex.com/ adresine taşınsa da, program hala en çok oy alan cevap tarafından belirtiliyor.

Bu blog yayınından exe'yi (ve Mac için bir ikili dosyayı) indirebilirsiniz: https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage


Aradığım cevap buydu. Microsoft bu projeyi sürdürmeye başladı. Şifreleri windows kimlik bilgisi deposunda saklar.
Gordolio

10

Benzer bir hata 'credential-wincred' is not a git command

Kabul edilen ve popüler cevaplar artık güncel değil ...

wincredartık korunmayan git-credential-winstore projesi içindir .

Yerine Microsoft açık kaynak tarafından tutulan Windows için Git-Credential-Manager-Yöneticisi eklendi .

Sürümü yukarıdaki bağlantıdan zip dosyası olarak indirin ve içeriği

\cygwin\usr\libexec\git-core

(veya \cygwin64\usr\libexec\git-coreolabileceği gibi)

Ardından etkinleştirin (genel ayarı belirleyerek .gitconfig) - yürütün:

git config --global credential.helper manager

Nasıl kullanılır

Başka yapılandırma gerekmez.

Kimlik bilgileri gerektiğinde [otomatik olarak] çalışır.

Örneğin, Azure DevOps'a basarken bir pencere açar ve simgenizi almak için bir oauth2 akışı başlatır.

ref:


8

Önce GIT için kullandığınız sürümü bulun.

bu komutu kullanarak: git --version

1.7.10'dan daha yeni bir sürüme sahipseniz.

O zaman bu komutu kullanın.

git config --global credential.helper wincred

Referans


6

Bu konuda gelen başkaları uğruna, ben (yani benim şifreler, önbelleğe olmadığını doğru seçeneği ayarlamak ve hatayı alıyorum rağmen Ubuntu Bu aynı sorunu vardı git: 'credential-cache' is not a git command.ben öğrendim kadar) bu özellik sadece Git 1.7.9 ve üstü sürümlerde kullanılabilir .

Ubuntu'nun eski bir dağıtımında olmak (Natty; Ben inatçı bir Gnome 2 kullanıcısıyım) repodaki sürüm git sürüm 1.7.4.1 idi. Yükseltmek için aşağıdaki PPA'yı kullandım: https://launchpad.net/~git-core/+archive/ppa


1
git: 'credential-cache' is not a git command.Kimlik bilgileri önbelleği çalışsa bile, Windows'ta 2.8.2 sürümüne yükselttikten sonra bile hala alıyorum ! Muhtemelen daha git configönce bazı komutları kullanarak bu sorunu yarattım .
Buttle Butkus

1
@ButtleButkus git config bayrağın kullanılıp kullanılmamasına bağlı olarak ya ~/.gitconfigrepo- local'ı değiştirir . Kimlik bilgileriyle ilgili herhangi bir şey için bu iki dosyaya bakın. .git/config--global
Johann

5

Başkalarının uğruna bu sorunla karşılaştım - buraya indim çünkü yeni bir github deposunu nasıl kurduğumla sevimli olmaya çalıştım, ancak kurulum sayfası kimlik bilgileri yardımcısı bir havuzu klonlamadığınız sürece çalışmaz.

"İpucu: Kimlik bilgisi yardımcısı yalnızca bir HTTPS veri havuzu URL'sini klonladığınızda çalışır. Bunun yerine SSH veri havuzu URL'sini kullanırsanız, kimlik doğrulama için SSH anahtarları kullanılır. Bu kılavuz bir SSH anahtar çifti oluşturma ve kullanma konusunda yardım sunar."


4

Bu credentialbölümü belirli bir projenin yapılandırmasından kaldırarak bu sorunu çözdüm:

  • Yeni yazdım: git config -e
  • Editörün içinde tüm bölümü kaldırdım [credential] helper = cache.

Bu can sıkıcı mesajı kaldırdı:

git: 'credential-cache' is not a git command. See 'git --help'.


1
Yukarıdan birçok çözüm denedim ve işe yarayan tek çözüm bu. Az önce .git klasörüme gittim, yapılandırma dosyasını açtım ve [credential] helper = global sildim (yanlışlıkla "global" olarak ayarladım). Çok teşekkürler Pini Cheyni.
Filip Savic

1
Yardım edebileceğime sevindim
Pini Cheyni

3

Konuşmaya biraz geç kaldığımı fark ettim ama aynı sorunla karşılaştım Git yapılandırmamda iki giriş kimlik bilgim vardı…

.Gitconfig dosyamda

[credential]
helper = cached
[credentials]
helper = wincred

Düzeltme: .gitconfig dosyamı aşağıdaki ayarlara değiştirdi

[credential]
helper = wincred
[credentials]
helper = wincred

0

Alanımız değiştikten sonra, yani @ xy.com'dan @ xyz.com'a, Azure DevOps depolarımızla aynı sorunu yaşadık. Bu sorunu gidermek için, aşağıdaki izinlerle yeni bir kişisel erişim belirteci oluşturduk:

Kod: okuma ve yazma Ambalaj: okuma

Sonra Windows Kimlik Yöneticisi'ni açtık, aşağıdaki ayrıntılarla yeni bir genel windows kimlik bilgisi ekledik:

İnternet veya ağ adresi: "git: { projectname } @ dev.azure.com / { projectname }" - alternatif olarak burada git deponuzu kullanmalısınız.
Kullanıcı adı: "Kişisel Erişim Simgesi"
Şifre: { Oluşturulan Kişisel Erişim Simgesi }

Daha sonra tüm git operasyonlarımız tekrar çalışıyordu. Umarım bu başka birine yardımcı olur!

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.