Como mudar o usuário git no terminal?


46

Estou tentando enviar um projeto para um repositório remoto a partir da linha de comando.

De dentro do meu diretório local, pressionei:

$ git push

e obtenha o seguinte erro:

remote: permissão para nomedeusuário1 / repo.git negada para nomedeusuário2.
fatal: não foi possível acessar ' https://github.com/username1/repo.git/ ':
o URL solicitado retornou o erro: 403

Onde username1está o nome de usuário da minha conta do github que hospeda o repositório para o qual desejo enviar por push e username2é uma conta antiga que costumava usar nesta máquina.

Estou usando o OS X Yosemite (v10.10.5) em um Macbook Air. E eu preferiria usar https em vez de ssh .

Como atualizo para username1poder enviar com êxito para o meu controle remoto?

Editar: para ser claro, não estou falando simplesmente de editar o config userobjeto, por exemplo,

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

Eles não têm nada a ver com autenticação. Minha pergunta lida com a autenticação do usuário necessária para gravar no meu repositório remoto.



Obrigado. Mas isso lida apenas com a configuração do nome de usuário. Não é autenticação. Em outras palavras, essa documentação mostra como associar o nome de quem recebe crédito pelas confirmações. Mas na verdade não autoriza o usuário a enviar confirmações por push.
Mowzer 11/04

1
Você pode alterar como usuário o comando documentado em git-scm.com/docs/gitcredentials . Como alternativa, se você desejar limpar as credenciais, poderá examinar esta pergunta stackoverflow.com/questions/15381198/… .
John John

Isso não resolve o problema!
Mihail Salari 5/04

e se eu não quiser alterar as configurações locais do git?
Arkady

Respostas:


42

Além de alterar o nome de usuário e o email do terminal, use git config:

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

você precisará remover as informações de autorização do Keychain. Isso é algo com o qual também lutei até descobrir que também tinha certificado no meu chaveiro.

Abra o acesso ao chaveiro, clique em Todos os itens e procure git. Você receberá alguns itens como este:

Captura de tela

Exclua-os. Agora tente empurrar o repositório e o git solicitará que você escreva a senha para o usuário e você estará pronto.


1
E os usuários do Windows?
Aks ..

2
Eu tenho várias contas, o que devo fazer
Amerrnath

Estou tendo o mesmo problema com o win7. Eu não tenho certeza qual é a solução :(
Fiddle Freak

22

Para usuários cli, basta usar este: git config credential.username 'Billy Everytee'


Você precisa desativar o 2FA temporariamente.
bbaassssiiee


6

Liste sua configuração do git.

git config --list

Alterar nome de usuário e email global

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

Alterar nome de usuário e email para o repo atual

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

Altere seu URL de repositório se você estiver usando o bucket de bits.

nano .git/config

Este arquivo será algo como isto. [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

Essa é a resposta mais completa, considerando o escopo de repositório global e local.
Jordan Stefanelli
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.