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-05-23. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.17

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. Open 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