git: 'credential-cache' bukan perintah git

264

Saya mengikuti instruksi ini ke surat itu, termasuk bagian tentang caching kata sandi. Sepertinya instruksinya salah, karena setiap kali git push origin mastersaya mendapatkan kesalahan ini:

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

... pada titik mana saya dipaksa untuk memasukkan nama pengguna dan kata sandi saya. Setelah melakukannya, saya disajikan dengan pesan kesalahan yang sama lagi, diikuti oleh keluaran dari git push.

Berikut ini isi file .gitconfig saya:

[user]
    name = myusername
    email = [email protected]
[credential]
    helper = cache

Untuk menjadi jelas, setelah saya menginstal Git dan menjalankan Git Bash, inilah yang saya ketik:

git config --global user.name "myusername"
git config --global user.email "[email protected]"
git config --global credential.helper cache

Tolong bantu. Ini sangat menyebalkan!

McLarge Besar
sumber
53
Untuk menghapus pesan, "git: 'credential-cache' bukan perintah git.", Jalankan "git config --global --unset credential.helper", maka Anda dapat mengikuti instruksi di bawah ini.
Wallace Kelly
5
@Wally +1 Terima kasih, perintah Anda hanya berfungsi untuk saya setelah menghapus --global.
Web_Designer
1
Anda dapat juga menghapus pesan dengan memodifikasi file .git / config secara manual (yaitu menghapus baris di bawah [kredensial])
tarikakyol
FWIW bagi mereka membaca berbagai saran Windows di bawah ini, git config credential.helper cache melakukan pekerjaan untuk saya dengan Cygwin git versi 2.13.2.
Flash Sheridan

Jawaban:

323

Dari blog yang saya temukan :

"[Cache-git-kredensial] ini tidak berfungsi untuk sistem Windows karena git-kredensial-cache berkomunikasi melalui soket Unix."

Git untuk Windows

Karena msysgit telah digantikan oleh Git untuk Windows, menggunakan Git untuk Windows sekarang merupakan pilihan termudah. Beberapa versi penginstal Git untuk Windows (mis. 2.7.4) memiliki kotak centang selama penginstalan untuk mengaktifkan Git Credential Manager. Ini screenshotnya:

tangkapan layar Git For Windows 2.7.4 instal wizard

Masih menggunakan msysgit? Untuk versi msysgit 1.8.1 dan lebih tinggi

The wincredhelper ditambahkan dalam msysgit 1.8.1. Gunakan sebagai berikut:

git config --global credential.helper wincred

Untuk versi msysgit yang lebih lama dari 1.8.1

Pertama, unduh git-credential-winstore dan pasang di direktori git bin Anda.

Selanjutnya, pastikan direktori yang berisi git.cmd ada dalam variabel lingkungan Path Anda. Direktori default untuk ini adalah C: \ Program Files (x86) \ Git \ cmd pada sistem 64-bit atau C: \ Program Files \ Git \ cmd pada sistem 32-bit. Cara mudah untuk menguji ini adalah dengan meluncurkan prompt perintah dan ketik git. Jika Anda tidak mendapatkan daftar perintah git, maka itu tidak diatur dengan benar.

Terakhir, luncurkan prompt perintah dan ketik:

git config --global credential.helper winstore

Atau Anda dapat mengedit file .gitconfig Anda secara manual:

[credential]
    helper = winstore

Setelah Anda selesai melakukannya, Anda dapat mengelola kredensial git Anda melalui Windows Credential Manager yang dapat Anda tarik melalui Panel Kontrol Windows.

Nate Cook
sumber
4
gitcredentialstore.codeplex.com berisi FAQ. Ini membantu saya untuk menginstal winstore dengan sukses. Biner crash kecuali Anda menjalankannya dari git-bash.
ruruskyi
8
FYI saya harus menginstal dengan hak admin eksplisit. Tanpa itu, saya mendapatkan kesalahan "git: 'credential-winstore' bukan perintah git. Lihat 'git --help'". .Gitconfig saya sekarang terlihat sedikit berbeda juga, dengan [garis kredensial] memiliki "helper =! 'C: \\ Users \\ Malachi \\ AppData \\ Roaming \\ GitCredStore \\ git-credential-winstore.exe' '
Maleakhi
saya melempar pengecualian tidak tertangani dan mati - System.Diagnostics.Process.StartWithShellExecuteEx (ProcessStartInfo startInfo)
Andrew
1
Apakah ada alasan mengapa mereka akan menggunakan soket Unix dalam aplikasi multi-platform? Dan jika demikian, mengapa git-credential-winstore tidak disertakan bersama Git versi Windows?
Domi
3
Alat git-credential-winstore tidak berfungsi untuk saya. Dulu, tapi tiba-tiba saya diminta di semua tempat. Saya telah memeriksa .git-config dan Windows Credential Manager dan semuanya ada di sana. Ini sama sekali tidak bekerja dan saya benar-benar tidak tahu mengapa. :(
Chris McKenzie
30

Lari pertama git config --global credential.helper wincred

Lalu pergi ke: CONTROL PANEL\CREDENTIAL MANAGER\WINDOWS CREDENTIAL\GENERIC CREDENTIAL

lalu klik tambahkan kredensial di Internet or network address: tambahkan git:https://{username}.github.com

User: {nama}

Password: {Kata sandi}

Ivandro Ismael Gomes Jao
sumber
2
Credential Manager ada di Akun Pengguna dan Keselamatan Keluarga di Windows 7
Casey Murray
1
TERIMA KASIH! Butuh waktu satu jam untuk mencari tahu cara memperbaiki Windows Credential Manager saya setelah mengubah kata sandi domain saya. Moly suci, labirin yang aneh.
SadBunny
3
%windir%\explorer.exe shell:::{1206F5F1-0569-412C-8FEC-3204630DFB70}dari konsol akan memulai Pengelola Kredensial juga.
Jeroen Wiert Pluimers
1
Terima kasih, masalah saya sudah diperbaiki :)
Diallo
21

Saya menghadapi masalah ini saat menggunakan AptanaStudio3 di windows7. Ini membantu saya:

git config --global credential.helper wincred

Kode diambil dari sini

Ikrom
sumber
10

Sekarang ada cara yang jauh lebih mudah untuk mengatur cache kata sandi Git dengan mengklik dua kali exe kecil di Windows. Program ini masih didasarkan pada yang git-credential-winstoredisebutkan oleh jawaban terpilih teratas, meskipun proyek telah dipindahkan dari GitHub ke http://gitcredentialstore.codeplex.com/

Anda dapat mengunduh exe (dan biner untuk Mac) dari posting blog ini: https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage

Sahid
sumber
Ini jawaban yang saya cari. Microsoft telah mulai memelihara proyek ini. Ini menyimpan kata sandi di toko kredensial windows.
Gordolio
10

Kesalahan serupa adalah 'credential-wincred' is not a git command

Jawaban yang diterima dan populer sekarang kedaluwarsa ...

wincredadalah untuk proyek git-credential-winstore yang tidak lagi dipertahankan .

Itu digantikan oleh Git-Credential-Manager-for-Windows yang dikelola oleh Microsoft open source .

Unduh rilis sebagai file zip dari tautan di atas dan ekstrak konten ke

\cygwin\usr\libexec\git-core

(atau \cygwin64\usr\libexec\git-coreapa adanya)

Kemudian aktifkan, (dengan mengatur global .gitconfig) - jalankan:

git config --global credential.helper manager

Cara Penggunaan

Tidak diperlukan konfigurasi lebih lanjut.

Ini bekerja [secara otomatis] ketika kredensial diperlukan.

Misalnya, ketika mendorong ke Azure DevOps, itu membuka jendela dan menginisialisasi aliran oauth2 untuk mendapatkan token Anda.

ref:

TT--
sumber
8

Pertama temukan versi yang Anda gunakan untuk GIT.

menggunakan perintah ini: git --version

jika Anda memiliki versi yang lebih baru dari 1.7.10.

Maka cukup gunakan ini perintah ini.

git config --global credential.helper wincred

Referensi

Sireesh Yarlagadda
sumber
6

Demi orang lain yang datang pada masalah ini, saya punya masalah yang sama di Ubuntu (yaitu bahwa kata sandi saya tidak caching, meskipun telah mengatur opsi dengan benar, dan mendapatkan kesalahan git: 'credential-cache' is not a git command.), sampai saya menemukan bahwa fitur ini hanya tersedia di Git 1.7.9 dan di atasnya .

Berada di distribusi Ubuntu yang lebih lama (Natty; Saya adalah pengguna Gnome 2 yang keras kepala) versi dalam repo adalah git versi 1.7.4.1. Saya menggunakan PPA berikut untuk meningkatkan: https://launchpad.net/~git-core/+archive/ppa

Johann
sumber
1
Saya masih mendapatkan git: 'credential-cache' is not a git command.bahkan setelah memutakhirkan ke versi 2.8.2 di Windows, meskipun cache kredensial berfungsi! Saya mungkin menciptakan masalah ini dengan menggunakan beberapa git configperintah sebelumnya.
Buttle Butkus
1
@ButtleButkus git config mengubah salah satu ~/.gitconfigatau repo-lokal .git/config, tergantung pada apakah --globalflag digunakan. Lihatlah kedua file tersebut untuk segala hal yang berkaitan dengan kredensial.
Johann
5

Demi orang lain yang memiliki masalah ini - saya mendarat di sini karena saya mencoba menjadi lucu dengan cara saya mengatur repositori github baru, tetapi per halaman pengaturan bantuan kredensial tidak berfungsi kecuali jika Anda mengkloning repositori.

"Tip: Pembantu kredensial hanya berfungsi ketika Anda mengkloning repositori URL HTTPS. Jika Anda menggunakan URL repositori SSH sebagai gantinya, kunci SSH digunakan untuk otentikasi. Panduan ini menawarkan bantuan membuat dan menggunakan pasangan kunci SSH."

Andrew
sumber
4

Saya memperbaiki masalah ini dengan menghapus credentialbagian dari konfigurasi proyek tertentu:

  • Baru saja diketik: git config -e
  • Di dalam editor saya menghapus seluruh bagian [credential] helper = cache.

Ini menghapus pesan yang mengganggu:

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

Pini Cheyni
sumber
1
Saya mencoba banyak solusi dari atas dan ini adalah satu-satunya yang berhasil. Saya baru saja pergi ke folder .git saya, membuka file konfigurasi dan menghapus [kredensial] helper = global (saya menyetelnya ke "global" secara tidak sengaja). Terima kasih banyak, Pini Cheyni.
Filip Savic
1
Saya senang saya bisa membantu
Pini Cheyni
3

Saya menyadari bahwa saya sedikit terlambat untuk percakapan, tetapi saya menemukan masalah yang sama persis dalam konfigurasi git saya, saya memiliki dua kredensial entri ...

Dalam file .gitconfig saya

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

Cara mengatasinya: Mengubah file .gitconfig saya ke pengaturan di bawah ini

[credential]
helper = wincred
[credentials]
helper = wincred
Jason Phillips
sumber
0

Kami memiliki masalah yang sama dengan repositori Azure DevOps kami setelah domain kami berubah, yaitu dari @ xy.com ke @ xyz.com. Untuk memperbaiki masalah ini, kami membuat token akses pribadi baru dengan izin berikut:

Kode: baca & tulis Kemasan: baca

Kemudian kami membuka Windows Credential Manager, menambahkan kredensial windows generik baru dengan perincian berikut:

Internet atau alamat jaringan: "git: { projectname } @ dev.azure.com / { projectname }" - atau Anda harus menggunakan nama repositori git Anda di sini.
Nama pengguna: "Token Akses Pribadi"
Kata Sandi: { Token Akses Pribadi yang dihasilkan }

Setelah itu semua operasi git kami bekerja kembali. Semoga ini bisa membantu orang lain!

DeveloperExceptionError
sumber