Skip to main content

Solução de problemas com commits

Resolva problemas comuns de confirmação, como links de usuário incorretos, confirmações locais ausentes e blocos de proteção por push.

As confirmações estão vinculadas ao usuário errado

GitHub vincula uma confirmação a um usuário correspondendo o endereço de email no cabeçalho de confirmação a um endereço de email em uma GitHub conta. Se suas confirmações estiverem vinculadas ao usuário errado ou a nenhum usuário, atualize as configurações de email do Git e adicione o endereço de email à sua conta.

Observação

Se suas confirmações estiverem vinculadas a outro usuário, isso não lhe dará acesso ao repositório.

Commits estão vinculados a outro usuário

  1. Altere o endereço de email na configuração do Git local seguindo Configurar o endereço de e-mail do commit. Se você trabalhar em vários computadores, altere essa configuração em cada um deles.
  2. Adicione o endereço de email à sua conta seguindo Adicionando um endereço de email à sua conta de GitHub.

Confirmações futuras que usam o endereço de email serão vinculadas à sua conta.

Os commits não estão vinculados a nenhum usuário

Para descobrir por que uma confirmação não está vinculada, inspecione a confirmação.GitHub

  1. Em GitHub, acesse a página principal do repositório.

  2. Na página principal do repositório, acima da lista de arquivos, clique em commits.

    Captura de tela da página principal de um repositório. Um ícone de relógio e "178 commits" são realçados com um contorno laranja.

  3. Para navegar até um commit específico, clique na mensagem de confirmação para esse commit.

    Captura de tela de um commit na lista de commits de um repositório. "Update README.md" é realçado com um contorno laranja.

  4. Passe o mouse sobre o azul à direita do nome de usuário.

  5. Use a mensagem para decidir o que atualizar:

    • Autor não reconhecido (com endereço de email): Adicione o endereço de email mostrado à sua GitHub conta.
    • Autor não reconhecido (sem endereço de email): Defina seu endereço de email de confirmação no Git e adicione esse endereço à sua GitHub conta.
    • Email inválido: Defina um endereço de email de confirmação válido no Git e adicione esse endereço à sua GitHub conta.

As confirmações antigas podem não estar vinculadas depois que você atualiza as configurações de email. Consulte Configurar o endereço de e-mail do commit.

Existe uma confirmação em GitHub mas não no clone local

Se git show COMMIT-SHA retornar um erro localmente, mas a confirmação estiver visível GitHub, o clone local poderá estar desatualizado ou a confirmação poderá não ser mais referenciada por um branch.

O repositório local está desatualizado

Buscar informações do repositório remoto.

git fetch REMOTE

Use git fetch upstream para o repositório upstream de uma bifurcação ou git fetch origin para o repositório clonado.

O branch que continha o commit foi excluído

Se o branch foi excluído ou forçado por push, pergunte a um colaborador que ainda tem a confirmação localmente para efetuá-lo por push para um novo branch.

git branch recover-B B
git push upstream B:recover-B

Em seguida, busque o branch recuperado.

git fetch upstream recover-B

Evitar pushes forçados

Evite forçar o push, a menos que seja necessário, especialmente quando mais de uma pessoa pode enviar por push para o repositório. Forçar o envio por push reescreve o histórico do repositório e pode interromper colaboradores ou solicitações de pull corrompidas.

Uma confirmação é bloqueada pela proteção por push

A proteção por push bloqueia confirmações, uploads ou solicitações de API que contêm segredos com suporte.

Noções básicas sobre por que a proteção por push bloqueou seu commit

Se a proteção por push bloquear seu trabalho, GitHub detectou um segredo com suporte em sua confirmação ou solicitação. Remova o segredo antes de tentar novamente.

Resolvendo um bloqueio de proteção de push

  1. Examine a mensagem de proteção por push para identificar o segredo e onde ele aparece.
  2. Remova o segredo da confirmação, upload de arquivo ou solicitação de API.
  3. Tente o push, a confirmação, o upload ou a solicitação novamente.
  4. Se você acredita que o segredo é seguro para enviar por push, siga as etapas de bypass para o fluxo de trabalho:

Leitura adicional