2010-10-14 17:17:28 +0000 2010-10-14 17:17:28 +0000
174
174

Come faccio ad assicurarmi che GitHub non mi chieda il mio nome utente e la password di GitHub?

Sto lavorando con un repo su GitHub e ogni volta che provo a spingere qualcosa, mi chiede il mio nome utente e la password di GitHub. Non voglio che lo faccia.

Ho provato le istruzioni su impostare la tua email in Git , cioè impostare le variabili Git github.user e github.token, ma questo non ha fatto alcuna differenza.

Non capisco perché questo stia succedendo.

Risposte (12)

215
215
215
2011-08-08 22:36:29 +0000

Aveva un problema simile oggi: Ho fatto un casino nella mia copia di lavoro, così ho deciso di rinominare la directory e di clonare di nuovo il mio progetto da github. Ma dopo averlo fatto, ho dovuto inserire la mia password per fare qualsiasi richiesta pull/push, invece di inserire la passphrase solo una volta come facevo di solito.

Questo perché oggi ho usato il protocollo https per clonare il progetto! Per verificare quale protocollo si sta utilizzando è sufficiente eseguire

git config -l
``` ```
git config remote.origin.url git@github.com:the_repository_username/your_project.git

e guardare la riga che inizia con ‘remote.origin.url’.

Per cambiare i protocolli:

&001

the_repository_username e your_project devono essere sostituiti con il nome del repository appropriato e il proprietario di quel repository. Il nome utente sarà vostro se possedete il repository, o altrimenti il nome utente del proprietario del repository.

34
34
34
2010-10-14 17:28:04 +0000

È necessario impostare un ssh-agente rispetto al quale è necessario autenticarsi una sola volta. Vedere questa risposta su SO per un howto.

31
31
31
2013-12-03 22:40:15 +0000

Se si utilizza HTTPS invece di SSH, si può seguire questo :

    1. Trovate il vostro URL remoto (remote.origin.url) con
  1. Il vostro URL remoto sarà come questo : https://{USERNAME}@github.com/{NOME UTENTE}/{REPONAME}.git

    1. Eseguire questo comando :
26
26
26
2014-11-21 04:27:04 +0000

Preferisco usare HTTPS, lo trovo più facile e più sicuro che impostare le chiavi ssh.

Usando HTTPS, potete evitare che git chieda il vostro nome utente per i telecomandi github con i seguenti:

git config --global url."https://yourusername@github.com".insteadOf "https://github.com"
``` ```
git config --global credential.helper 'cache --timeout=28800'

E potete almeno ridurre la frequenza con cui git chiede la vostra password con:

[url "https://yourusername@github.com"]
    insteadOf = https://github.com

[credential]
    helper = cache --timeout=28800

Dove 28800 sono 8 ore. Uso questa configurazione per inserire la mia password solo una volta, quando inizio la mia giornata lavorativa.

Dopo di che avrete queste voci all'interno del vostro ~/.gitconfig

&001

Fonte: http://git-scm.com/docs/git-credential-cache http://git-scm.com/docs/git-config

6
6
6
2014-02-23 11:54:29 +0000

Se siete su Windows utilizzando HTTPS, provate il Git Credential Store - utilizza il Windows Credential Store per mantenere il vostro nome e la vostra password.

Windows Credential Store for Git
This application is a small helper app designed to follow the 
git credentials API as defined by the Git Documentation.

Installation
1. Download the git-credential-winstore.exe application
2. Run it! If you have GIT in your PATH, it should just work.
``` &001 



Poi la prossima volta che inserirete il vostro nome e la vostra password, li ricorderà per voi.
6
6
6
2010-10-14 19:45:54 +0000

Quando impostate una chiave ssh per github, se non è la vostra chiave di default, dovrete aggiungere una sezione al vostro ~/.ssh/config

Host *github.com
    User git
    IdentityFile ~/.ssh/github_id_rsa
5
5
5
2013-08-11 03:17:37 +0000

Inoltre, se volete che vi venga richiesta la vostra password ogni volta, ma non il vostro nome utente, allora configurate il telecomando come HTTPS con un nome utente… Così…

git config remote.origin.url https://USERNAME@github.com/repo_owner/repo_name
``` &001 


Dopo questo, vi verrà richiesta la vostra password ogni volta, ma non il vostro nome utente. 


Questo è il modo in cui preferisco, poiché mi piace essere costretto a digitare la mia password github prima di condividerla con il mondo.
2
2
2
2014-09-25 19:45:49 +0000

Le cose sono un po’ diverse se si utilizza l'auth a 2 fattori come me. Dato che non ho trovato una buona risposta altrove, ne metterò una qui, così forse la troverò più tardi.

Se stai usando l'auth a 2 fattori, allora specificare il nome utente/password non funzionerà - l'accesso sarà negato. Ma puoi usare un token di accesso all'applicazione e usare l'helper delle credenziali di git per metterlo nella cache. Qui ci sono i link pertinenti:

E non ricordo dove ho visto questo, ma quando ti viene chiesto il tuo nome utente - è qui che si inserisce il token di accesso all'applicazione. Poi lasciate la password in bianco. Ha funzionato sul mio mac.

2
2
2
2016-06-19 21:27:34 +0000

utilizzare SSH

Per evitare che GitHub chieda la password mentre preme, idealmente si dovrebbe utilizzare SSH (git@github.com:...) invece di HTTPS URL (https://github.com/...) e aggiungere la chiave SSH al proprio account GitHub . Vedi: Quale URL remoto dovrei usare?

un credential helper

Altrimenti se hai davvero bisogno di usare HTTPS, per memorizzare la tua password di GitHub in Git , dovresti usare un credential helper per dire a Git di ricordare il tuo nome utente e la tua password di GitHub ogni volta che parla con GitHub.

  • Mac: git config --global credential.helper osxkeychain (osxkeychain helper è richiesto),
  • Windows: git config --global credential.helper wincred
  • Linux e altri: git config --global credential.helper cache

.netrc

Un altro metodo è quello di usare configurare il tuo utente/password in ~/.netrc (_netrc su Windows), e. g.

machine github.com
login USERNAME
password PASSWORD
``` ```
git push https://4UTHT0KEN@github.com/foo/bar

OAuth

Usa OAuth token Personal API token ) per spingere le modifiche, ad esempio

&001


Correlato:

1
1
1
2016-06-05 12:21:50 +0000

Chiedere il nome utente è fastidioso per me, ma chiedere una password è bello perché ti assicura che vuoi davvero rendere pubbliche le tue modifiche…

Quindi lo aggiungo al mio “.gitconfig”

[url "https://myusername@github.com"]
    insteadOf = https://github.com
1
1
1
2016-04-05 14:31:43 +0000

Inoltre, se si utilizza Windows, è possibile utilizzare:

$ git config --global credential.helper wincred

è sufficiente firmare ancora una volta e poi git si ricorderà.

0
0
0
2016-07-07 13:37:29 +0000

Usa Git Credential Manager per Windows , se sei su Windows.

Questo progetto include :

  • Memorizzazione sicura delle password nel Windows Credential Store
  • Supporto di autenticazione a più fattori per Visual Studio Team Services
  • Supporto di autenticazione a due fattori per GitHub
  • Generazione di Token di accesso personale e supporto all'uso per Visual Studio Team Services e GitHub
  • Supporto in modalità non interattiva per Visual Studio Team Services supportato da Azure Directory
  • Autenticazione Kerberos per Team Foundation Server
  • Impostazioni opzionali per l'ottimizzazione degli agenti di costruzione

Semplicemente scaricare l'ultima versione e installarla.

** Come si usa**

Non è possibile. Funziona magicamente quando sono necessarie le credenziali.