2015-07-10 28 views
7

Stavo usando un altro account github per esercitarmi e ora ho impostato il mio account github. In futuro utilizzerò principalmente il mio account. Il mio problema è che il mio computer è ancora connesso come un altro nome di account Github (anche se sono connesso al mio account Github online).come uscire da un account Github e usare un altro account?

Non riesco a inviare nulla ai miei repository github, perché l'altro account non ha il permesso di farlo, ovviamente. Come faccio a comunicare al mio computer di passare al mio account in modo da poter accedere ai miei repository su Github online?

risposta

15

Se la vostra utilizzando OSX, terminale aperto ed eseguire questo:

git credential-osxkeychain erase 
host=github.com 
protocol=https 

per cancellare la voce di portachiavi. Quindi la prossima volta ti chiederà di accedere.

Per visualizzare le credenziali correnti nella cache, utilizzare il comando git credential-osxkeychain get seguito premendo Invio due volte.

se si preme invio solo una volta che si invoca il comando ma verrà visualizzato per appendere, se si preme Invio una seconda volta verrà richiesto da una finestra di dialogo per confermare l'accesso al portachiavi e quindi le informazioni saranno restituito in terminal


Se si desidera evitare questo problema in futuro, è possibile configurare lo strumento git aiuto per osx-portachiavi per memorizzare le credenziali di accesso associato con l'intero percorso del repository piuttosto che solo il dominio che è l'impostazione predefinita.

Nel terminale immettere il comando

git config --global --edit 

Si apre un file di configurazione. Se non lo hai già fatto, ti consigliamo di impostare l'editor predefinito in modo che il file si apra nell'applicazione preferita. Ad esempio, per impostare Sublime Text come editor predefinito: git config --global core.editor "subl -n -w"

Con il file di configurazione aperto, cercare useHttpPath (o definirlo se non esiste). E imposta il valore su true. Esso dovrebbe essere simile a questo:

[credential] 
    helper = osxkeychain 
    useHttpPath = true 

Questo indicherà git (così come github) che eventuali credenziali utilizzate per accedere deve essere associato solo con il percorso del repository completo che è stato interrogato, non per l'intero dominio (in case of github) tutti i repository su Github.com .. Quindi ora puoi accedere al tuo repository e il tuo ragazzo può essere registrato nel suo repository e non ci saranno conflitti tra i tuoi accessi.

+0

grazie! c'è un modo per controllare nel terminale quale utente è attualmente connesso? –

+0

forse 'git config --list' – davidcondrey

+0

@Rory_Perro il mio ultimo commento ha funzionato per quello che volevi? Sono curioso di me stesso, non ne ero sicuro. – davidcondrey

0

Grazie David Condrey.

Per chi ha lo stesso problema su Windows 10, il seguente ha funzionato per me. Solo leggermente diverso dalla risposta Apple Mac.

Utilizzo della riga/comando di shell bash git, avviare un editor:

git config --global --edit 

ho avuto solo una sezione [utente] in questo file. I tuoi potrebbero essere diversi.

aggiungere la sezione delle credenziali e l'entrata singola linea alla fine del file:

[credential] 
    useHttpPath = true 

Nota è credenziali, non le credenziali.

Non è necessaria la riga helper = osxkeychain, che è per i Mac Apple.

Salva ed esci dall'editor.

Ora quando si "spinge", viene visualizzata una finestra di dialogo di accesso (ma potrebbe essere in background). L'icona di Octocat viene visualizzata nella barra delle applicazioni.

.

PS: Più tardi, ho trovato questo aveva aggiunto una linea per la configurazione globale e che il seguente comando può essere usato al posto:

git config --global credential.usehttppath true 
Problemi correlati