Como alterar seu nome e email em TODOS os commits de um repositório

가능합니까?



Sim, é possível alterar informações de commits, como o nome e o email da pessoa autora, sem perder dados ou deixar rastros que essa mudança ocorreu.

Essa possibilidade vem principalmente para pessoas transgênero que desejam mudar os registros de contribuições de seus repositórios, removendo o nome e email morto.

git-filter-repo



git-filter-repo é um script que já vem junto com o git. Com esse script podemos reescrever o histórico de commits, como as informações de pessoas autoras de commits.

git-filter-repo para alterar informações 활용



Para fazer essa alteração, podemos utilizar o comando abaixo:

git filter-branch --env-filter '
EMAIL_ANTIGO="[email protected]"
NOME_CORRETO="Nome correto"
EMAIL_CORRETO="[email protected]"
if [ "$GIT_COMMITTER_EMAIL" = "$EMAIL_ANTIGO" ]
then
    export GIT_COMMITTER_NAME="$NOME_CORRETO"
    export GIT_COMMITTER_EMAIL="$EMAIL_CORRETO"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$EMAIL_ANTIGO" ]
then
    export GIT_AUTHOR_NAME="$NOME_CORRETO"
    export GIT_AUTHOR_EMAIL="$EMAIL_CORRETO"
fi
' --tag-name-filter cat -- --branches --tags


기본적인 사용 방법git filter-branch은 다음과 같은 커밋을 변경하여 다음과 같이 변경할 수 있습니다.

Todo commit que tiver o email antigo, terá a informação de sua pessoa autora alterada. Substituindo o nome e email antigo, pelo nome e email novo.



Logo, para executar esse comando corretamente, mude as três variáveis ​​de cima, sendo:
  • EMAIL_ANTIGO 펠로스 이메일 안티고;
  • NOME_CORRETO pelo seu nome correto;
  • EMAIL_CORRETO 펠로스 이메일 코레토

  • 다음은 명령 실행git log para ver se a lista de commits está com as informações corretas como no example abaixo:



    Levando essas alterações ao repositório remoto



    예를 들어, fizemos essas alterações no nosso repositório local, e precisamos passar essas mudanças para o repositório remoto.

    Caso você tenha permissão para push , você pode utilizar git push -f , forçando a alteração dessas mudanças.

    Enfatizando: Você precisa ter permissão de push para fazer essas alterações, e caso tenham outras pessoas mexendo no projeto, elas vão precisar utilizar git pull --rebase para que todas as alterações relacionadas á branches e informações relacionadas ás pessoas autoras de commits.



    이 경우 Github, Gitlab, Bitbucket 등의 리포지토리가 아닌 모든 사용자가 사용할 수 있습니다. 예를 들어 abaixo:



    빨리! Agora suas informações estão corretas na árvore de commits do repositório!

    Caso dê algum erro em alguma parte, por favor, comentar no artigo sobre o seu erro para que eu possa te ajudar ❤️



    마무리



    Neste artigo, você aprendeu como alterar suas informações em todos os commits de um repositório, e levar essas alterações ao repositório remoto.

    Obrigada por ler ❤️🏳️‍⚧️

    좋은 웹페이지 즐겨찾기