TortoiseGit salva l'autenticazione / le credenziali dell'utente


286

C'è un modo per risparmiare GITHUB's user credentialscon TortoiseGit?

Mi viene visualizzata la finestra di dialogo in basso ogni volta che faccio un push / pull.

Vorrei salvare le informazioni sulle mie credenziali utente da qualche parte, come ho fatto con TortoiseSVN.

inserisci qui la descrizione dell'immagine



È inoltre possibile utilizzare Credential Manager per salvare / gestire le credenziali. stackoverflow.com/a/31782500/730676
user730676

Risposte:


351

Per TortoiseGit 1.8.1.2 o successivo, esiste una GUI per attivare / disattivare l'helper delle credenziali.

Supporta git-credential-wincrede git-credential-winstore.

TortoiseGit 1.8.16 aggiunge il supporto per git-credential-manager(Git Credential Manager, il successore di git-credential-winstore)

Per la prima volta che esegui la sincronizzazione, ti vengono richiesti utente e password, li inserisci e verranno salvati nell'archivio credenziali di Windows. Alla successiva sincronizzazione non verrà richiesto l'utente o la password.

Per usare: tasto destro → TortoiseGit → Impostazioni → Git → Credenziali. Seleziona Helper credenziali: wincred - solo questo repository / wincred - utente corrente di Windows

inserisci qui la descrizione dell'immagine


40
Neat. Ora come lo uso?
BlueRaja - Danny Pflughoeft,

16
Tasto destro del mouse -> TortoiseGit -> Impostazioni -> Git -> Credenziali. Seleziona wincred - this repository onlywincred - current Windows user
Assistente

33
No, devi prima abilitare l'helper delle credenziali. Per la prima volta che esegui la sincronizzazione, ti vengono richiesti utente e password, li inserisci e verranno salvati nell'archivio credenziali di Windows. Alla successiva sincronizzazione non verrà richiesto l'utente o la password.
Linquize

7
Nota: questo non funzionerà se il tuo nome utente contiene un @! Almeno per me, anche questo è un bug segnalato: github.com/msysgit/msysgit/issues/258
OschtärEi

5
Per TortoiseGit 1.8.16 e versioni successive, installare Git Credential Manager per Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - e quindi seguire le istruzioni sopra. GCM gestisce anche i crediti per git all'interno di Cygwin / babun, il che è carino.
DrStrangepork,

68

Se hai intenzione di sottovalutare questa risposta

L'ho scritto qualche mese prima dell'inclusione delle credenziali git in TortoiseGit. Dato il numero di grandi falle di sicurezza riscontrate negli ultimi anni e quanto ho imparato sulla sicurezza della rete, consiglio vivamente di utilizzare una chiave SSH unica (minimo 2048 bit RSA) per ogni server a cui ti connetti.

La sintassi di seguito è ancora disponibile, anche se oggi sono disponibili strumenti di gran lunga migliori, come ad esempio git-credentialla risposta accettata che ti dice come usare. Fallo invece.


Prova a cambiare l'URL remoto https://username@github.com/username/repo.gitdove si usernametrova il tuo nome utente github ed repoè il nome del tuo repository.

Se anche voi volete memorizzare la password (non raccomandato), l'URL sarebbe simile a questa: https://username:password@github.com/username/repo.git.

C'è anche un altro modo per memorizzare la password da questo articolo della guida di github: https://help.github.com/articles/set-up-git#password-caching


Dove posso vedere l'URL remoto? In Impostazioni -> Remoto -> L'URL è vuoto. Ma ho dato git url quando clonavo per la prima volta
Murali Murugesan il

2
Fai clic su "origine" nel menu remoto per visualizzare l'URL
Robert Rouhani il

Penso che funzioni, ma non riesco a verificare come sto ottenendo 'git non è uscito in modo pulito (codice di uscita 128)'
Murali Murugesan,

oops, ho estratto l'URL da un vecchio esempio. Una rapida occhiata a uno dei miei repository mostra che l'URL dovrebbe effettivamente essere: https://username@github.com/username/repo.gitdove entrambe le istanze usernamesono il tuo nome utente. Aggiornato la risposta.
Robert Rouhani,

1
Questo ha risolto il problema molto più velocemente e in modo più semplice: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi

25

Nessuna delle risposte sopra ha funzionato per me usando la versione 1.8.3.msysgit.0 e TortoiseGit 1.8.4.0 di git.

Nella mia situazione particolare, devo collegarmi al repository git remoto su HTTPS, utilizzando un indirizzo e-mail completo come nome utente. In questa situazione, wincrednon sembra funzionare.

Anche l'utilizzo dell'indirizzo e-mail come parte dell'URL del repository non ha funzionato, poiché il software sembra essere confuso dal doppio aspetto del carattere "@" nell'URL.

Sono riuscito a superare il problema usando winstore. Ecco cosa ho fatto:

Questo copierà il file git-credential-winstore.exein una directory locale e aggiungerà due righe al tuo globale .gitconfig. Puoi verificarlo esaminando il tuo globale .gitconfig. Questo è più semplice grazie al tasto destro del mouse su una cartella, "TortoiseGit> Impostazioni> Git> Modifica globale .gitconfig". Il file dovrebbe contenere due righe come:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Non sono necessarie altre impostazioni di TortoiseGit in "Rete" o "Credenziali". In particolare: il menu a discesa "Credential helper" in "Credential" è diventato vuoto a seguito di queste righe di configurazione, poiché TortoiseGit non riconosce il nuovo helper. Non impostare il menu a discesa su un altro valore o il .gitconfig globale verrà sovrascritto con un valore errato! (*)

Ora sei pronto per partire:

  • Prova a estrarre dal repository remoto. Noterai un popup di autenticazione che richiede il nome utente e la password, il popup dovrebbe essere visivamente diverso dal popup TortoiseGit predefinito. Questo è un buon segno e significa che winstorefunziona. Immettere l'autenticazione corretta e il pull dovrebbe avere esito positivo.
  • Prova di nuovo lo stesso pull e non dovresti più chiedere il nome utente e la password.

Fatto! Goditi le tue interazioni con il repository remoto mentre winstoresi occupa dell'autenticazione.

(*) In alternativa, se non ti piace la selezione vuota nel menu a discesa dell'helper delle impostazioni delle credenziali di TortoiseGit, puoi utilizzare l'opzione "Avanzate":

  • Vai a "TortoiseGit> Impostazioni> Credenziali"
  • Seleziona Assistente credenziali "Avanzate"
  • Fai clic sulla "G" (per globale) in Helpers
  • Immettere il percorso dell'helper come di seguito. Nota: una normale notazione del percorso di Windows (ad esempio "C: \ Users ...") non funzionerà qui, è necessario replicare la riga esatta che l'installazione ha winstorecreato nel globale .gitconfsenza il bit "helper =".

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • Fai clic sul pulsante "Aggiungi nuovo / Salva"


Mi hai indicato la giusta direzione. Ho solo bisogno di usare "wincred - utente corrente di Windows" e inserire il nome utente NON l'indirizzo e-mail. Ciò ha risolto tutto.
Razze,

Sono contento che ti abbia aiutato sulla strada giusta! Tuttavia, il punto nel mio caso ha a che fare esattamente con l'uso di un indirizzo e-mail. Questo contiene un "@" e causerà problemi se provi una delle altre ricette.
Patrick Atoon,

2
Uhm,% 40 è il codice per "@", quindi se hai provato " myEmail%40gmail.com@github.com/username/repo.git " sarai in grado di inserire il tuo indirizzo e-mail in .config Ancora non raccomandato ma, è possibile.
Tom Padilla,

Questo è il modo corretto e corretto per farlo. Scarica il programma di installazione da Microsoft / Git-Credential-Manager-for-Windows / release , quindi fai clic con il pulsante destro del mouse sul setup.exefile ed esegui come amministratore.

8

Per msysgit 1.8.0, scarica git-credential-wincred.exe da https://github.com/downloads/msysgit/git/git-credential-wincred.zip e inseriscilo in C: \ Programmi \ Git \ libexec \ git -nucleo

Per msysgit 1.8.1 e versioni successive, l'exe è integrato.

in git config, aggiungi le seguenti impostazioni.

[credenziale] helper = wincred


Dove hai trovato Tortoise Git 1.8.1.2? Vedo solo 1.8.1.0 sul loro sito
Ken Sykora,

TortoiseGit 1.8.1.2 è una versione di anteprima.
linquize,

8

Salvataggio di nome utente e password con TortoiseGit

Salvare i dettagli di accesso in TortoiseGit è abbastanza semplice. Salva dover digitare il tuo nome utente e password ogni volta che fai un pull o push.

  1. Creare un file chiamato _netrc con i seguenti contenuti:

    machine github.com
    accedi yourlogin
    password yourpassword

  2. Copia il file in C: \ Users \ (o in un'altra posizione; questo accade proprio dove l'ho inserito)

  3. Vai al prompt dei comandi, digita setx home C: \ Users \

Nota: se stai usando qualcosa di precedente a Windows 7, il comando setx potrebbe non funzionare per te. Utilizzare invece set e aggiungere la variabile di ambiente domestico a Windows utilizzando tramite Impostazioni avanzate in Risorse del computer.

CREDITO A: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/


2
Quella è la soluzione migliore! Ma puoi spiegare la relazione tra _netrc file e git? Questo file può archiviare più di un regno?
Alex Byrth,


8

Se sei un utente Windows 10 + TortoiseGit 2.7:

  1. per la prima volta accedi, segui semplicemente le istruzioni per inserire le tue credenziali e salvare la password.
  2. Se hai mai bisogno di aggiornare le tue credenziali, non perdere tempo con le impostazioni di TortoiseGit. Invece, cerca in Windows> Gestione credenziali> Credenziali di Windows> trova la tua voce git> Modifica.

Questa è la risposta che stai cercando, se hai modificato la password di Windows e l'autenticazione Git non funziona più ... In Windows tedesco, cerca "Anmeldeinformationsverwaltung".
Andre

grazie grazie. so che non dovremmo aggiungere commenti con grazie. ma grazie !!
Stephen Hazel,

0

Vai al repository del progetto, fai clic con il pulsante destro del mouse -> 'Git Bash Here'

Nel tipo windows git bash

cd ~
pwd

ho qualcosa del genere

/c/Users/<windows_username>

Ora copia le tue chiavi pubbliche e private su questo percorso

C:\Users\<windows_username>\.ssh

ho ottenuto i file qui sotto lì

id_rsa
id_rsa.pub
known_hosts

Qui

Ora, quando mai ha bisogno di usare le credenziali, usa questi file e richiede la password, se necessario.

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.