Memorizzare nome utente e password in Git


18

Quando io faccio

git push

Ottengo il prompt dei comandi come

Username for 'https://github.com':

quindi inserisco il mio nome utente manualmente come

Username for 'https://github.com': myusername

e poi premo Entere mi viene richiesta la password

Password for 'https://myusername@github.com':

Voglio che il nome utente venga scritto automaticamente anziché doverlo digitare manualmente in ogni momento.

Ho provato a farlo con xdotoolma non ha funzionato.

l'ho già fatto

git config --global user.name myusername
git config --global user.email myemail@gmail.com

ma mi chiede sempre di digitare manualmente


sai che puoi archiviare le credenziali con git, giusto?
Diego Roccia,

Dovresti impostare una chiave SSH su GitHub e usarla invece.
Stephen Kitt,

@DiegoRoccia sì, lo ho menzionato anche nella domanda, ma non aiuta.
GypsyCosmonaut

Puoi usare come git config credential.helper storedescritto qui: stackoverflow.com/questions/11403407/… In questo caso non memorizzi la password in chiaro nell'URL di origine, ma in un file nel tuo profilo. (Anche non crittografato)
Oleg Rudenko

Risposte:


12

In realtà quello che hai fatto lì è stato impostare le informazioni sull'autore, solo per i commit. Non hai archiviato le credenziali. le credenziali possono essere archiviate in 2 modi:

  1. usando le funzioni delle credenziali git: https://git-scm.com/docs/git-credential-store
  2. cambia l'URL di origine in " https: // nome utente: password@github.com ".
  3. una terza alternativa è usare un tasto ssh (come diceva @StephenKitt). Per la configurazione di github, puoi trovare tutte le informazioni necessarie nella pagina di aiuto di GitHub

l'aggiunta di nome utente e password all'URL di origine non è buona per motivi di sicurezza ma se ti senti sicuro, questo è il percorso migliore.
Kodmanyagha,

21

In Terminale, immettere quanto segue per abilitare la memoria delle credenziali:

$ git config --global credential.helper cache

È possibile aggiornare il timeout della cache delle password predefinito (in secondi):

# This cache timeout is in seconds
$ git config --global credential.helper 'cache --timeout=3600' 

Puoi anche usare (ma per favore usa le virgolette singole , altrimenti le virgolette doppie potrebbero rompersi per alcuni caratteri):

$ git config --global user.name 'your user name'
$ git config --global user.password 'your password'
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.