"Git filter-branch" usado com sucesso para alterar o committer / author, mas as alterações não refletem no github
Eu recentemente substitui o autor, committer e e-mails deles em todos os meus commits locais, usando o seguinte comando:
git filter-branch -f --env-filter '
if [ "$GIT_COMMITTER_NAME" = "oldname" ];
then
GIT_COMMITTER_NAME="newname";
GIT_COMMITTER_EMAIL="newaddr";
GIT_AUTHOR_NAME="newname";
GIT_AUTHOR_EMAIL="newaddr";
fi
if [ "$GIT_AUTHOR_NAME" = "oldname" ];
then
GIT_COMMITTER_NAME="newname";
GIT_COMMITTER_EMAIL="newaddr";
GIT_AUTHOR_NAME="newname";
GIT_AUTHOR_EMAIL="newaddr";
fi
' -- --all
As atualizações são imediatamente evidentes localmente (por exemplo, no meu ambiente do SourceTree). No entanto, depois de forçar o repositório modificado para o GitHub…
git push -f origin master
… Dois itens individuais teimosamente se recusam a ter seu committer e autor atualizados: o arquivo Gemfile.lock e um diretório Views.
Por favor, note também que:
Esta é a segunda vez que estou executando este tipo de operação neste repositório. Acredito que não enfrentei tais problemas na primeira vez.
Procurando por meu nome antigo no repositório…
$ find . "<oldname">
… faz rende um monte de resultados, o que significa que o oldname ainda se esconde em muitos dos arquivos do repositório - incluindo arquivos que aparecem atualizados tanto no GitHub quanto localmente.
Minha pergunta, então: Como posso alterar o committer / author dos dois arquivos "teimosos" no GitHub?