Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-08-20. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.18

Alterar informações de autor

Para alterar o nome e/ou endereço de e-mail registrado em commits existentes, você deve reescrever todo o histórico do seu repositório Git.

Aviso: esta ação é destrutiva para o histórico do repositório. Se você estiver colaborando em um repositório com outras pessoas, não é uma boa ideia reescrever o histórico publicado. Você só deve fazer isso em caso de emergência.

Alterar o histórico do seu repositório no Git usando um script

Criamos um script que vai alterar todos os commits que anteriormente tinham o endereço de e-mail antigo em seus campos de autor ou committer para usar o nome e o endereço de e-mail corretos.

Observação: executar esse script reescreve o histórico de todos os colaboradores do repositório. Após conclusão dessas etapas, qualquer pessoa com bifurcações ou clones devem fazer fetch do histórico reescrito e fazer rebase de todas as alterações locais no histórico reescrito.

Antes de executar esse script, você precisará:

  • Do endereço de e-mail antigo que aparece nos campos de autor/commiter que deseja alterar
  • Do nome e endereço de e-mail corretos aos quais deseja que os commits sejam atribuídos
  1. Abra TerminalTerminalGit Bash.

  2. Crie um clone vazio do seu repositório:

    git clone --bare https://hostname/user/repo.git
    cd repo.git
  3. Copie e cole o script, substituindo as seguintes variáveis com base nas informações coletadas:

    • OLD_EMAIL
    • CORRECT_NAME
    • CORRECT_EMAIL
    #!/bin/sh
    
    git filter-branch --env-filter '
    
    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@example.com"
    
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
  4. Pressione Enter para executar o script.

  5. Revise o novo histórico do Git a fim de verificar se há erros.

  6. Publique o histórico corrigido no GitHub Enterprise:

    git push --force --tags origin 'refs/heads/*'
  7. Limpe o clone temporário:

    cd ..
    rm -rf repo.git

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato