Assistente credenziali Git - aggiorna la password


198

Attualmente sto usando GitHub su HTTPS e ho installato l'ultima versione di Git (1.9.0) insieme all'helper delle credenziali Git su Windows 7.

Durante l'impostazione del mio ambiente, ho detto a git-credentials di ricordare permanentemente il mio nome utente e la mia password.

Di recente ho aggiornato la mia password GitHub tramite il sito Web e ora non sono più in grado di eseguire il push / pull / fetch, ecc.

Come potrei fare per aggiornare la mia password sull'helper git-credentials su Windows 7?


6
Semplice, usa "git config --global credential.helper wincred" e inserisci userID e password; quindi questo verrà archiviato per te, la prossima volta che cambi la password, esegui nuovamente il comando sopra.
Akshay Lokur

@AkshayLokur questa è la risposta corretta.
Ravimallya

Se tutto il resto fallisce e stai usando TortoiseGit, potresti voler provare un'azione tramite quello. Ad esempio, un pull o fetch utilizzando Tortoise richiederà la password, che sarà quindi possibile aggiornare. Questo sembra quindi sovrascrivere la cache di Git Bash e puoi usare bash ancora una volta.
Paul F. Wood,

Risposte:


280

Nessuna di queste risposte ha funzionato per il mio problema con le credenziali di Git. Ecco cosa ha funzionato se qualcuno ne ha bisogno (sto usando Git 1.9 su Windows 8.1).

Per aggiornare le credenziali, andare al Pannello di controlloCredential Managercredenziali generiche . Trova le credenziali relative al tuo account Git e modificale per utilizzare la password aggiornata.

Riferimento: come aggiornare le credenziali Git su Windows

Nota che per utilizzare Windows Credential Manager per Git devi configurare l'helper delle credenziali in questo modo:

git config --global credential.helper wincred

Se disponi di più account GitHub che utilizzi per repository diversi, devi configurare le credenziali per utilizzare il percorso completo del repository (anziché solo il dominio, che è l'impostazione predefinita):

git config --global credential.useHttpPath true

21
Questa dovrebbe essere la risposta accettata se git config --listcontiene credential.helper=wincred.
MF

6
Ha funzionato per me - grazie - e ho anche imparato a conoscere il gestore delle credenziali di Windows.
rwalter,

Questo. cambiare la password non ha funzionato ma ho cancellato le credenziali e poi git push ha chiesto di nuovo le credenziali e ha funzionato.
BiAiB

2
Penso che funzioni anche per Windows 8.1 e Windows 10. Nel mio caso: window 10 Pro, git 2.17
Thinhbk

2
Per chiunque (come me) rimuove le credenziali archiviate sperando in un altro prompt, ma il prompt non viene visualizzato. Da Gestione credenziali, è possibile ADDun Generic Credentialcon un indirizzo di git:http://yourserver:port/. Http o Https è lo stesso, il bit importante è git:all'inizio.
A. Chiesa,

101

Al mio primo tentativo di recupero di Git dopo la modifica della mia password, mi è stato detto che la mia combinazione nome utente / password non era valida. Questo era corretto poiché l'helper credenziale git aveva memorizzato nella cache i miei vecchi valori.

Tuttavia, ho tentato un altro recupero di Git dopo aver riavviato il mio terminale / prompt dei comandi e questa volta l'helper delle credenziali mi ha chiesto di inserire il mio nome utente e la mia password GitHub.

Sospetto che la richiesta iniziale di recupero di Git non riuscita in combinazione con il riavvio del mio terminale / prompt dei comandi abbia risolto questo problema per me.

Spero che questa risposta aiuti chiunque altro in una posizione simile in futuro!


2
Basta riavviare Git Bash, verrà richiesta una finestra di dialogo per inserire un nuovo nome utente / password.
Quan,

2
Per la cronaca, sono stato in grado di risolvere il problema facendo un altro pull / fetch senza riavviare la mia sessione Powershell su Windows 7. Windows mi ha richiesto i miei nuovi crediti al secondo tentativo.
Bender the Greatest,

riavviare la console / app ha fatto funzionare "wincred" per me. (Ho dovuto riavviare la mia console e "Atom" e tutto ha funzionato bene)
low_rents il

3
L'immissione di qualsiasi comando git che richiede credenziali una seconda volta sembra fare questo, non solo git fetch, ha anche funzionato su un secondo git clone.
navigator_

Grazie mille! Ogni volta che cambio la password del mio dominio, devo ricordare come aggiornare le mie credenziali. Recupera Git - Ha funzionato per me!
Alexander Brattsev il

74

Soluzione che utilizza la riga di comando per Windows, Linux e MacOS

Se hai aggiornato la tua password GitHub sul server GitHub, nel primo tentativo del git fetch/pull/pushcomando genera l' autenticazione fallita messaggio di .

Esegui lo stesso git fetch/pull/pushcomando una seconda volta e richiede credenziali (nome utente e password). Immettere il nome utente e la nuova password aggiornata del server GitHub e l'accesso avrà esito positivo.

Anche io ho avuto questo problema, e ho eseguito i passaggi sopra e fatto !!


@ Vincent: qual è il problema che stai riscontrando ??
Faroocco,

2
Ricevo solo il telecomando: nome utente o password non validi. fatale: autenticazione fallita per
RichMeister il

1
@RichMeister: dalla seconda volta chiederà username / password. Basta fornire il tuo nome utente / new_password.
Faroo

3
Ha funzionato per me su MacOS con credenziali memorizzate nella cache dopo una modifica della password. La prima volta ottieni "Autenticazione fallita per ...". Ho provato di nuovo e mi sono state chieste le credenziali, inserisci userid e nuova password e ora funziona di nuovo
Kevin Hooke,

1
Questa è la risposta migliore / più semplice
Ryan Boken il

74

Se sei un utente Windows, puoi rimuovere o aggiornare le tue credenziali in Credential Manager.

In Windows 10, vai al percorso seguente:

Pannello di controlloTutti gli elementi del pannello di controlloGestione credenziali

Oppure cerca "Gestione credenziali" nella sezione "Cerca in Windows" nel menu Start.

Quindi da Gestione credenziali, selezionare "Credenziali di Windows".

Credential Manager mostrerà molti elementi, inclusi Outlook e il repository GitHub in "Credenziali generiche"

Fai clic sulla freccia a discesa sul lato destro di Git: e mostrerà le opzioni da modificare e rimuovere. Se rimuovi, il pop-up delle credenziali verrà la prossima volta quando recuperi o tira. Oppure puoi modificare direttamente le credenziali lì.


3
Dopo aver provato altre opzioni, solo questa ha funzionato per me. Ho trovato informazioni qui: cmatskas.com/how-to-update-your-git-credentials-on-windows
neomib

Nota: questo controllo NON È ACCESSIBILE ATTRAVERSO METRO UI "PANNELLO DI CONTROLLO"! Devi eseguire control.exemanualmente per vedere questo controllo.
AnrDaemon,

Questo ha aiutato molto! Non sapevo nemmeno che esistessero questi strumenti.
mascella

35

Per prima cosa trova la versione che stai usando con il comando Git git --version. Se hai una versione più recente della 1.7.10, usa semplicemente questo comando:

git config --global credential.helper wincred

Quindi fai il git fetch , quindi richiede l'aggiornamento della password.

Ora, non richiederà la password per più volte in Git.


7
Questo non risponde alla domanda
disklosr,

2
@disklosr Sì. Obbliga Git a richiedere la password aggiornata la prossima volta che esegui un'azione remota.
Nilpo,

1
@Nilpo Che cos'è quindi "un'azione remota"? "Git push origin xxx" non dovrebbe essere un'azione remota? Non lo sta facendo. invece ottengo remoto: nome utente o password non validi.
RichMeister,

1
Ha funzionato per me. Dopo aver eseguito questo comando. Fai "git fetch", ti verranno richieste le credenziali, forniscile.
Alex,

Perché --global? Non rischio di essere richiesto nuovamente per tutti i miei repository invece che solo per quello interessato?
Thomas Weller,

29

Mi sembra che le risposte qui siano obsolete. Per me in Windows 10 e Git 2.15.0 questo ha fatto il lavoro:

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

E quindi per impostare il nuovo nome utente e password:

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

Dopodiché, se le credenziali ora funzionano sull'host di destinazione desiderato, dovremmo usare git credential approve-come indicato nell'uso tipico delle credenziali Git (passaggio 4) - per dire agli aiutanti delle credenziali di contrassegnare le credenziali come approvate e riutilizzarle in connessioni future.


1
Per me, facendo il git credential fill parte così com'è, ha generato automaticamente la vecchia password errata; Ho dovuto impostare manualmente il nuovo con questo comando per farlo funzionare; comunque, grazie, questa risposta mi ha aiutato con questo problema!
Emerson Cardoso,

Voto in cima! Quanto tempo perso a leggere soluzioni obsolete. In realtà Git Credential Manager è da incolpare qui, penso che debba passare attraverso il dolore quando le password del dominio vengono ruotate.
Janis Veinbergs

1
dopo fill, non dovremmo usare approve?
Z. Khullah,

Sulla mia macchina git credential rejectnon si completa mai
Thomas Weller il

@ThomasWeller devi premere invio per lasciare lì una riga vuota, quindi completa.
atavio

19

FWIW, mi sono imbattuto in questo stesso problema (e anche il mio capo, quindi è diventato più intenso).

La soluzione istantanea è eliminare o correggere le voci Git in Gestione credenziali di Windows. Potresti avere difficoltà a trovarlo nella tua versione localizzata di Windows, ma per fortuna puoi avviarlo dalla buona vecchia finestra di dialogo Windows+ REsegui con control keymgr.dllo control /name Microsoft.CredentialManager(o rundll32.exe keymgr.dll, KRShowKeyMgrse preferisci l'aspetto classico). Oppure inseriscilo in un file batch per i tuoi colleghi:cmdkey /delete:git:http://your.git.server.company.com .

In Microsoft Git Credential Manager questo è un problema noto che potrebbe essere risolto non appena nel 2019 (quindi non trattenere il respiro).


1
Comprendere Gestione credenziali di Windows utilizzando l'interfaccia utente del Pannello di controllo è fantastico, ma diventa noioso quando è necessario eseguire l'aggiornamento su tutti i computer. Questo singolo comando è ottimo poiché realizza la stessa cosa (rimuove le credenziali non valide esistenti) che forza Git a richiedere nuovamente le credenziali la prossima volta che ne ha bisogno. Su Windows Server 2016, la sintassi dei comandi per rimuovere le credenziali è leggermente diversa: cmdkey /delete:git:https://your.git.server.company.com
Rudimentale

/delete{:<TargetName>}è la sintassi ufficiale , ma ho scoperto che anche il collegamento /del <TargetName>funziona, almeno in Windows 10 (1803).
Jakob,

ottima idea per un alias! delpw = !cmdkey /delete:git:$(git remote get-url $1). Utilizzo: git delpw origin(ps: / del non ha funzionato qui, ha
vinto

6

Solo cdnella directory in cui hai installato git-credential-winstore. Se non sai dove, esegui questo in Git Bash:

cat ~/.gitconfig

Dovrebbe stampare qualcosa di simile:

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

In questo caso, il repository è C: \ ProgramFile \ GitCredStore. Una volta all'interno di questa cartella usando Git Bash o il comando di Windows, basta digitare:

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

Non dimenticare di premere Enterdue volte dopo protocol=https.


3

Nessuna delle soluzioni attuali ha funzionato per me con Git Bash 2.26.2. Questo dovrebbe funzionare in ogni caso se si utilizza il gestore delle credenziali di Windows.

Un problema è che il gestore delle credenziali di Windows viene eseguito per l'utente registrato. Nel mio caso, ad esempio, eseguo git bash con il tasto destro, esegui come amministratore. Pertanto, le mie credenziali archiviate si trovano in un gestore credenziali a cui non posso accedere con la GUI di Windows se non accedo a Windows come amministratore.

Per risolvere questo problema:

  • Apri un cmd come admin (o qualunque utente tu esegua con bash)
  • Vai a windows / system32
  • Tipo cmdkey /list. Le tue vecchie credenziali dovrebbero apparire qui, con una parte che legge ... target: xxx ...
  • Digitare cmdkey /delete:xxx, dove xxx è il target della riga precedente

Dovrebbe confermare che le tue credenziali sono state rimosse. La prossima volta che esegui qualsiasi operazione in git bash che richiede autenticazione, un popup ti chiederà le tue credenziali.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.