10
respostas

Dá me um erro 403 ao tentar fazer o push

Bom dia,

Já pesquisei de forma resolver esse problema que está dando mas ainda não consegui resolver, tenho o user e e-mail corretamente digitados, a URL do repositório também está bem copiada.

Tem algo tambem que não estou entendo na seguinte frase: "remote: Permission to RicardoDev04/testeAlura.git denied to RicardoPereiraDev."

Ou seja, está a dizer que a permissão para RicardoDev04... negada para RicardoPereiraDev(outro user de outra conta github que criei e fiz logout) porquê?

Agradecia vossa ajuda pff

Insira aqui a descrição dessa imagem para ajudar na acessibilidade ![Insira aqui a descrição dessa imagem para ajudar na acessibilidade

10 respostas

Oi Ricardo!

Você tem 2 usuário Git (RicardoDev04 e RicardoPereiraDev)

No GitHub, você criou o repositório pelo usuário RicardoDev04, mas no seu computador você está tentando fazer o push pelo usuário RicardoPereiraDev, e por isso o GitHub está rejeitando.

Sugiro você criar um novo repositório no GitHub, na sua conta do usuário RicardoPereiraDev, pois assim você vai conseguir sincronizar corretamente.

Olá Rodrigo!

Mas a questão é essa, foi de forma propositada a opção de querer criar outra conta do github e com isso usar para fazer simplesmente alguns testes.

Têm como ajudar me, de forma a eu fazer o push pelo o usuário RicardoDev04, eu até estou na duvida se não está relacionado com as variáveis locais de ambiente windows, uma vez que criei nova conta no Github, ou não está relacionado?

Tem algumas opções nesse caso.

Uma delas é você acessar tela de configurações do repositório no GitHub e adicionar o usuário RicardoPereiraDev como colaborador, de maneira similar ao que foi ensinado no curso. Assim será possível realizar o push normalmente.

Isso foi ensinado no curso, se foi não me lembro onde?

Depois não deveria ser possível poder fazer o push normalmente com outra conta do github, tendo feito logout na outra conta do github?

Ao adicionar o usuario RicardoPereiraDev como colaborador não vai fazer com que as pessoas que acedem ao github de RicardoDev04, depois consigam também visualizar os repositórios da conta do github do RicardoPereiraDev?

Porque se a resposta for positiva não é esse o objectivo.

Nessa atividade foi ensinado: https://cursos.alura.com.br/course/git-github-compartilhando-colaborando-projetos/task/139313

Após realizar essa mudança, o usuário RicardoPereiraDev podera'realizar push de commits apenas nesse repositório do usuário RicardoDev04. Ele não terá acessao aos outros repositórios do usuário RicardoDev04 e nem o usuário RicardoPereiraDev terá acesso aos repositórios do RicardoDev04.

Peço desculpa mas está muito confuso a sua ultima explicação.

Apenas quero saber se posso ter 2 contas de github e fazer o procedimento normal que fazia com a 1ª conta do github, ou seja, depois de ter criado outra conta do github e ter configurado o user e email e sincronizando com o repositório remoto do github porque não consigo fazer push das alterações que fiz no projecto que está no git local?

Você pode ter duas contas no GitHub sem problemas. Cada uma delas vai ter um username e email distintos.

A dificuldade maior será no seu computador, com os repositórios locais. No curso foi mostrado como ensinar ao git quem é você, com os comandos:

git config --global user.name "SEU NOME"
git config --global user.email "SEU EMAIL"

Esse parâmetro --global configura esse usuário de maneira global no computador, ou seja, todos os repositórios locais que você criar no seu computador (via comando git init) vão utilizar esse mesmo usuário.

Por exemplo, se você configurou como global o usuário RicardoDev04, mas precisa que em um repositório em específico seja utilizado o outro usuário RicardoPereiraDev, precisa então rodar novamente os comandos, dentro desse repositório, sem o parâmetro global:

git config user.name "RicardoPereiraDev"
git config user.email "RicardoPereiraDev@SEU_EMAIL.com"

Dessa forma o Git saberá que apenas nesse repositório que você rodou os comandos anteriores ele não deve utilizar o usuário global e sim esse outro.

Mas isso vai funcionar apenas para realizar os commits locais e o Git saber registrar corretamente o usuário que fez esses commits.

Existe ainda a questão das chaves SSH, pois você deve ter criado uma chave SSH para o usuário RicardoDev04, mas agora precisa criar outra chave SSH para o usuário RicardoPereiraDev.

Por fim, você precisa tomar cuidado ao fazer o push para garantir que está fazendo o push com o usuário correto. Se você criou um repositório remoto no Github na conta do usuário RicardoDev04, ceritifque-se que no seu computador o repositório local está configurado com o usuário RicardoDev04, pois ele é o "dono" do repositório remoto no GitHub e apenas esse usuário pode fazer push.

Reparei que nessa imagem infra, onde diz author, realmente ele não configura o novo user nem a conta de e-mail porquê?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Você disse: Existe ainda a questão das chaves SSH, pois você deve ter criado uma chave SSH para o usuário RicardoDev04, mas agora precisa criar outra chave SSH para o usuário RicardoPereiraDev.

Então, vamos por partes, eu não criei nenhuma chave SSH para o usuário RicardoDev04, em relação à outra conta que é a minha conta original onde tenho os meus projectos que é do user RicardoPereiraDev eu acho que não utilizei a chave SSH, custumo sempre sincronizar com o repositorio remoto(github) através do https.

git config --global user.name "SEU NOME" git config --global user.email "SEU EMAIL"

Relativamente aos comandos supra utilizei para o user: RicardoDev04 e pelo o que entendi agora tinha que digitar novamente os seguintes comandos infra?

git config user.name "RicardoPereiraDev" git config user.email "RicardoPereiraDev@SEU_EMAIL.com" ------------------> neste caso não seria o RicardoDev04?

Só agora e por coincidência vi que as questões feitas desde o inicio tinham alguma semelhança com as aulas mas no meu caso é um pouco diferente porque não fiz clone de outra conta de github.

O que eu fiz foi criar uma nova conta do github, depois criar um novo repositório e fazer add remote com a URL do desse novo repositório remoto.

Infelizmente, depois ter feito algumas alterações no codigo, a seguir comitado e quando vou a fazer push ele dá me esse erro 403.

Eu não quero que o outro usuário que criei(RicardoDev04) colabore no projecto porque são coisas totalmente diferentes, não fiz nenhum clone, quero simplesmente quando fizer commit local depois fizer push ele empurre as alterações realizadas no repositorio local com Author RicardoDev04 para o repositorio remoto github.

Quando quiser aceder a algum projecto do repositorio remoto go github da conta diferente neste caso RicardoPereiraDev e faça commit no repositorio local consiga depois fazer push para repositorio sincronizado e que não dê esse erro.