Saya bekerja dengan beberapa repositori, tetapi akhir-akhir ini saya hanya bekerja di internal kami dan semuanya hebat.
Hari ini saya harus komit dan mendorong kode ke yang lain, tapi saya mengalami beberapa masalah.
$ git push appharbor master
error: The requested URL returned error: 403 while accessing https://[email protected]/mitivo.git/info/refs?service=git-receive-pack
fatal: HTTP request failed
Tidak ada yang bisa saya lakukan, yang akan membawa entri kata sandi lagi.
Bagaimana saya bisa mereset kredensial di sistem saya sehingga Git akan meminta saya kata sandi repositori itu?
Saya telah mencoba:
git config --global --unset core.askpass
untuk menghapus kata sandi
git config credential.helper 'cache --timeout=1'
untuk menghindari cache kredensial ...
Tampaknya tidak ada yang berhasil; apakah ada yang punya ide yang lebih baik?
windows
git
credentials
balexandre
sumber
sumber
~/.netrc
file?netrc
, yang akan menyimpan banyak kredensial dalam file terenkripsi . Ini lebih baik daripada memasukkan kata sandi Anda setiap kali untuk setiap sesi, karena cache hanya "cache" kata sandi untuk waktu tertentu. Lihat contoh lengkap di sini .Jawaban:
Jika masalah ini muncul pada mesin Windows, lakukan hal berikut.
sumber
credential.helper=manager
. Untuk menguji jenis inigit config --list
. Jika diatur kestore
maka kredensial tidak disimpan di toko kredensial tetapi disimpan tanpa enkripsi.git:https://github.com
dan saya diminta untuk memasukkan nama pengguna saya / lulus saat saya kloning repo menggunakan PyCharm. Saya memiliki lebih dari satu akun github dan yang salah di-cache.Systemsteuerung\Alle Systemsteuerungselemente\Anmeldeinformationsverwaltung
.Credential Manager
. Itu juga berhasil bagi saya403
kesalahan saya melalui Bitbucket.Cache kredensial Git menjalankan proses daemon yang menyimpan kredensial Anda di memori dan membagikannya saat diminta. Jadi membunuh cache git-credential-cache Anda - proses daemon membuang semua ini dan mengakibatkan Anda diminta kembali memasukkan kata sandi jika terus menggunakan ini sebagai opsi cache.helper.
Anda juga bisa menonaktifkan penggunaan cache kredensial Git menggunakan
git config --global --unset credential.helper
. Kemudian setel ulang ini, dan Anda akan terus memiliki kredensial yang di-cache tersedia untuk repositori lain (jika ada). Anda mungkin juga perlu melakukannyagit config --system --unset credential.helper
jika ini telah diatur dalam file konfigurasi sistem (misalnya, Git untuk Windows 2).Pada Windows Anda mungkin lebih baik menggunakan bantuan manajer (
git config --global credential.helper manager
). Ini menyimpan kredensial Anda di toko kredensial Windows yang memiliki antarmuka Panel Kontrol tempat Anda dapat menghapus atau mengedit kredensial yang disimpan. Dengan toko ini, detail Anda dijamin oleh login Windows Anda dan dapat bertahan selama beberapa sesi. The manager pembantu termasuk dalam Git untuk Windows 2.x telah menggantikan sebelumnya wincred pembantu yang ditambahkan dalam Git untuk Windows 1.8.1.1. Pembantu serupa yang disebut winstore juga tersedia online dan digunakan dengan GitExtensions karena menawarkan antarmuka yang lebih didorong GUI. The manager helper menawarkan antarmuka GUI sama seperti WinStore .Ekstrak dari halaman dukungan Windows 10 yang merinci manajer kredensial Windows:
Dan kemudian pilih Kredensial Windows untuk mengedit (= menghapus atau memodifikasi) kredensial git yang disimpan untuk URL yang diberikan.
sumber
Control Panel\User Accounts\Credential Manager
bawah Windows 7Ketik ulang:
Dan kemudian Anda akan diminta untuk memasukkan kredensial Anda lagi.
PERINGATAN
Sumber: https://git-scm.com/docs/git-credential-store
sumber
.git/config
.Saya menghadapi masalah yang sama dengan OP. Itu mengambil kredensial Git lama saya yang tersimpan di suatu tempat di sistem dan saya ingin menggunakan Git dengan kredensial baru saya, jadi saya menjalankan perintah
Itu menunjukkan
Setiap kali saya melakukan
git push
itu mengambil nama pengguna lama saya yang saya set lama kembali, dan saya ingin menggunakan akun GitHub baru untuk mendorong perubahan. Saya kemudian menemukan bahwa kredensial akun GitHub lama saya disimpan di Control Panel → Akun Pengguna → Manajer Kredensial → Kelola Kredensial Windows .Saya baru saja menghapus kredensial ini dan ketika saya melakukan
git push
itu meminta kredensial GitHub saya, dan itu berfungsi seperti pesona.sumber
Coba gunakan perintah di bawah ini.
Di sini Anda bisa mendapatkan berbagai opsi untuk mengelola kredensial Anda (lihat layar di bawah).
Atau Anda bahkan dapat langsung mencoba perintah ini:
Ini akan mulai meminta kata sandi lagi pada setiap permintaan interaksi server.
sumber
git: 'credential-manager' is not a git command. See 'git --help'.
removal failed. U_U Press any key to continue... fatal: InvalidOperationException encountered. Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
(denganU_U
emoji yang bagus entah dari mana :))Saya menemukan sesuatu yang bekerja untuk saya. Ketika saya menulis komentar saya ke OP, saya gagal memeriksa file konfigurasi sistem:
menunjukkan a
baris. Saya membatalkannya dengan
dan sekarang kredensial dilupakan.
sumber
git config --global --unset credential.helper
dan mungkin hanyagit config --unset credential.helper
di repositori Anda jika Anda entah bagaimana mengaturnya secara eksplisit di sana.Dalam kasus saya, Git menggunakan Windows untuk menyimpan kredensial.
Yang harus Anda lakukan adalah menghapus kredensial yang disimpan yang tersimpan di akun Windows Anda:
sumber
akan ditampilkan
credential.helper = manager
(ini pada mesin windows)Untuk menonaktifkan nama pengguna / kata sandi yang di-cache ini untuk folder git lokal Anda saat ini, cukup masukkan
Dengan cara ini, git akan meminta kata sandi setiap kali, mengabaikan apa yang tersimpan di dalam "manajer".
sumber
git: 'credential-' is not a git command. See 'git --help'.
tetapi untuk keamanan, saya mengambil jawaban ini karena ini satu-satunya yang membuat saya dimintai kata sandi baru. Saya bertanya-tanya, apakah ini bukan hanya menutupi masalah (apakah kata sandi benar-benar dihapus?)rm -rf ~/.git-credentials
. Perhatikan bahwa ini dapat bervariasi (git help credential-store
)git config --unset credential.helper
membersihkan entri. Jawaban ini hanya membuatnya menjadi string kosong dan menghasilkan kesalahan yang dijelaskan @ribamar dalam komentar.Di Windows 2003 Server dengan "wincred" *, tidak ada jawaban lain yang membantu saya. Saya harus menggunakan
cmdkey
.cmdkey /list
daftar semua kredensial yang disimpan.cmdkey /delete:Target
menghapus kredensial dengan nama "Target".(* Dengan "meringis" Maksudku
git config --global credential.helper wincred
)sumber
cmdkey
adalah mitra baris perintah untuk Kredensial Windows yang dijelaskan dalam jawaban yang dipilih.Kesalahan ini muncul ketika Anda menggunakan beberapa akun Git pada mesin yang sama.
Jika Anda menggunakan macOS maka Anda dapat menghapus kredensial yang disimpan dari github.com .
Ikuti langkah-langkah di bawah ini untuk menghapus kredensial github.com .
Selesai
sumber
Perlu masuk dengan masing-masing github
username
danpassword
Untuk menghapus nama pengguna dan kata sandi di windows
Panel Kontrol \ Akun Pengguna \ Manajer Kredensial
Edit Kredensial windows
Hapus pengguna yang ada dan sekarang pergi ke command prompt tulis perintah push itu menunjukkan github pop-up untuk memasukkan
username
/email
danpassword
.Sekarang kita dapat mendorong kode setelah beralih pengguna.
sumber
Mendapat kesalahan yang sama ketika melakukan 'git pull' dan ini adalah bagaimana saya memperbaikinya.
git config --system --unset credential.helper
git config --system --add credential.helper manager
git pull
sumber
Hapus baris ini dari file .gitconfig Anda yang terletak di folder pengguna yang saat ini masuk Windows:
Ini bekerja untuk saya dan sekarang ketika saya mendorong ke jarak jauh ia meminta kata sandi saya lagi.
sumber
Anda harus memperbaruinya di Credential Manager Anda.
Buka Panel Kontrol> Akun Pengguna> Manajer Kredensial> Kredensial Windows. Anda akan melihat kredensial Git dalam daftar (mis. Git: https: //). Klik di atasnya, perbarui kata sandi, dan jalankan perintah git pull / push dari Git bash Anda dan itu tidak akan membuang pesan kesalahan lagi.
sumber
Jika Git Credential Manager untuk Windows digunakan (yang biasanya dilakukan versi saat ini):
Ini ditambahkan pada pertengahan 2016 . Untuk memeriksa apakah pengelola kredensial digunakan:
sumber
Menggunakan versi terbaru git untuk Windows pada Windows 10 Professional dan saya memiliki masalah serupa di mana saya memiliki dua akun GitHub yang berbeda dan juga akun Bitbucket sehingga semuanya menjadi sedikit membingungkan untuk VS2017, ekstensi git dan git bash.
Saya pertama kali memeriksa bagaimana git menangani kredensial saya dengan perintah ini (jalankan git bash dengan perintah yang ditinggikan atau Anda mendapatkan kesalahan):
Saya menemukan entri Credential Manager jadi saya mengklik tombol START> mengetik Credential Manager ke dan mengklik kiri pada ikon yellow safe credential manager yang meluncurkan aplikasi. Saya kemudian mengklik tab Kredensial Windows dan menemukan entri untuk akun git saya saat ini yang kebetulan adalah Bit-bucket jadi saya menghapus akun ini.
Tetapi ini tidak berhasil, jadi langkah selanjutnya adalah menghapus kredensial dan saya melakukan ini dari direktori repositori di laptop saya yang berisi proyek GitHub yang saya coba tekan ke remote. Saya mengetik perintah berikut:
Lalu saya melakukan push git dan saya diminta untuk nama pengguna GitHub yang saya masukkan (yang benar saya butuhkan) dan kemudian kata sandi yang terkait dan semuanya didorong dengan benar.
Saya tidak yakin berapa banyak masalah ini akan terjadi, kebanyakan orang mungkin bekerja di satu repositori tetapi saya harus bekerja di beberapa dan menggunakan penyedia yang berbeda sehingga dapat menghadapi masalah ini lagi.
sumber
Dalam kasus saya, saya tidak dapat menemukan kredensial disimpan di Windows Credential Manager (Windows 7).
Saya dapat mengatur ulang kredensial saya dengan mengeksekusi
Sejujurnya itu adalah hujan es bagi Mary untuk melihat apakah itu akan menghapus kredensial saya dan itu benar-benar berhasil.
sumber
Anda dapat menghapus baris
credential.helper=!github --credentials
dari file berikutC:\Program Files\Git\mingw64\etc\gitconfig
untuk menghapus kredensial gitsumber
C:\Users\<current-user>
.git-credentials
filesumber
Pada Windows, setidaknya,
git remote show [remote-name]
akan berfungsi, missumber
Jika Anda ingin git melupakan kredensial lama yang disimpan dan memasukkan kembali nama pengguna dan kata sandi, Anda dapat melakukannya dengan menggunakan perintah di bawah ini:
Setelah menjalankan perintah di atas, jika Anda mencoba mendorong apa pun itu akan memberikan opsi untuk memasukkan nama pengguna dan kata sandi.
sumber
Yang akhirnya memperbaiki ini bagi saya adalah menggunakan desktop GitHub, pergi ke pengaturan repositori, dan menghapus pengguna: pass @ dari url repositori. Kemudian, saya mencoba push dari baris perintah dan diminta untuk kredensial masuk. Setelah saya masukkan semuanya kembali normal. Visual Studio dan baris perintah berfungsi, dan tentu saja, desktop GitHub.
GitHub Desktop-> Repository-> Pengaturan Repositori-> Tab jarak jauh
Ubah Repositori Jarak Jauh Utama (asal) dari:
https: //pork@[email protected]/MyProject/MyProject.git
Untuk:
https://github.com/MyProject/MyProject.git
Klik "Simpan"
Kredensial akan dihapus.
sumber
Untuk pengguna macOS:
Kesalahan ini muncul ketika Anda menggunakan beberapa akun Git pada mesin yang sama.
Ikuti langkah-langkah di bawah ini untuk menghapus kredensial github.com.
Pilih github.com dan klik kanan di atasnya
Hapus "github.com"
Coba lagi untuk Push atau Tarik ke git dan itu akan meminta kredensial. Masukkan kredensial yang valid untuk akun repositori. Selesai
sumber
Untuk Windows 10, buka jalan di bawah ini,
Akan ada 2 tab di lokasi ini,
Klik pada tab kredensial Windows dan di sini Anda dapat melihat kredensial github yang tersimpan, di bawah tajuk "Kredensial generik".
Anda dapat menghapusnya dari sini dan mencoba dan mengkloning ulang - itu akan meminta nama pengguna / kata sandi sekarang karena kami baru saja menghapus kredensial yang tersimpan dari sistem Windows 10
sumber
Untuk menghapus Git Credentials Managers untuk Windows cache:
atau
sumber
Coba ini ketika tidak ada yang disebutkan di atas bekerja untuk Anda.
ini akan menghapus cache setiap 3sec dan akan meminta nama pengguna dan kata sandi. Anda dapat menjalankan kembali perintah dengan nilai batas waktu yang meningkat.
sumber
Dalam kasus kami, menghapus kata sandi dalam file .git-kredensial pengguna berhasil bagi kami.
sumber
Membangun dari jawaban tinggi @ patthoyts ( https://stackoverflow.com/a/15382950/4401322 ):
Jawabannya menggunakan tetapi tidak menjelaskan konfigurasi "lokal" vs. "global" vs. "sistem". Dokumentasi git resmi untuk mereka ada di sini dan layak dibaca.
Sebagai contoh, saya menggunakan Linux, dan tidak menggunakan konfigurasi sistem , jadi saya tidak pernah menggunakan
--system
flag, tetapi biasanya perlu membedakan--local
dan--global
mengkonfigurasi.Kasus penggunaan saya adalah saya punya dua crendential Github; satu untuk bekerja, dan satu untuk bermain.
Inilah cara saya menangani masalah:
Perlu juga dicatat bahwa ada cara untuk menghindari masalah ini sama sekali, misalnya, Anda dapat menggunakan
~/.ssh/config
dengan kunci SSH terkait untuk Github (satu untuk bekerja, satu untuk bermain) dan juga host jarak jauh yang diberi nama kustom untuk menyelesaikan otentikasi kontekstualisasi juga.sumber
Untuk menambah @ericbn 's https://stackoverflow.com/a/41111629/579827 di sini adalah perintah sampel Saya sudah tertanam dalam script saya menjalankan untuk memperbarui semua password saya setiap kali mereka diperbarui. Ini mungkin tidak dapat digunakan sebagaimana adanya karena cukup spesifik tetapi menunjukkan penggunaan kehidupan nyata
cmdkey.exe
.sumber
Jika Anda dikonfirmasi menggunakan pasangan kunci Anda, Anda dapat menghapus atau memindahkan kunci pribadi Anda, atau menghentikan agen kunci dan mencoba.
sumber