Come cambiare utente git al terminale?


46

Sto cercando di inviare un progetto a un repository remoto dalla riga di comando.

Dall'interno della mia directory locale, ho colpito:

$ git push

e ottenere il seguente errore:

remoto: autorizzazione a username1 / repo.git negata a username2.
fatale: impossibile accedere a " https://github.com/username1/repo.git/ ":
errore URL restituito richiesto: 403

Dov'è il username1mio nome utente dell'account github che ospita il repository che voglio spingere ed username2è un vecchio account che usavo su questa macchina.

Sto usando OS X Yosemite (v10.10.5) su un Macbook Air. E preferirei usare https invece di ssh .

Come faccio ad aggiornare a in username1modo da poter eseguire correttamente il push sul mio telecomando?

Modifica: per essere chiari, non sto parlando semplicemente di modificare l' config useroggetto, ad es.

$ git config --global user.name "Billy Everyteen"
$ git config --global user.email "billyeveryteen@example.com"

Non hanno nulla a che fare con l'autenticazione. La mia domanda riguarda l'autenticazione utente necessaria per scrivere nel mio repository remoto.



Grazie. Ma questo riguarda solo l'impostazione del nome utente. Non autenticazione In altre parole, quella documentazione ci mostra come associare il nome di chi ottiene il credito per i commit. Ma in realtà non autorizza l'utente a inviare commit.
Mowzer,

1
Potresti essere in grado di cambiarlo usando il comando documentato su git-scm.com/docs/gitcredentials . In alternativa, se si desidera cancellare le credenziali, è possibile consultare questa domanda stackoverflow.com/questions/15381198/… .
Giovanni,

Questo non risolve il problema!
Mihail Salari,

cosa succede se non desidero modificare le impostazioni git locali?
Arkady,

Risposte:


42

Oltre a modificare nome utente ed e-mail dal terminale utilizzando git config:

$ git config --global user.name "Bob"
$ git config --global user.email "bob@example.com"

dovrai rimuovere le informazioni di autorizzazione da Keychain. Questo è qualcosa con cui ho anche lottato fino a quando non ho scoperto di avere anche il certificato nel mio portachiavi.

Apri l'accesso Portachiavi, fai clic su Tutti gli elementi e cerca git. Otterrai alcuni articoli come questo:

Immagine dello schermo

Eliminali. Ora prova a spingere il repository e git ti chiederà di scrivere la password per l'utente e sarai a posto.


1
E gli utenti di Windows?
Aks ..

2
ho più account cosa devo fare
Amerrnath,

Sto riscontrando lo stesso problema con win7. Non sono sicuro di quale sia la soluzione :(
Fiddle Freak

22

Per gli utenti di cli, basta usare questo: git config credential.username 'Billy Everytee'


Devi disabilitare temporaneamente 2FA.
bbaassssiiee,


6

Elenca la tua configurazione git.

git config --list

Cambia nome utente ed e-mail globale

git config --global user.name "Nanhe Kumar"
git config --global user.email "info@nanhekumar.com"

Modifica il nome utente e l'e-mail per il repository corrente

git config  user.name "Nanhe Kumar"
git config  user.email "info@nanhekumar.com"

Cambia l'URL del tuo repo se stai usando il bucket bit.

nano .git/config

Questo file sarà simile a questo. [core] repositoryformatversion = 0 fileMode = false bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = https://nanhe@bitbucket.org/nanhekumar/myproject.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master

[user]
        name = Nanhe Kumar
        email = info@nanhekumar.com

Questa è la risposta più completa considerando l'ambito dei repo globali e locali.
Jordan Stefanelli,
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.