git altera todo o histórico para nomes de commters e email para committer específico
Como eu não posso mudar o nome e o email de todo o meu histórico de commits, exceto para e commiter específico ..
algo como, foreach allcommits if committer_name = "Hugo Casa" mudar: committer_name committer_email author_name author_email
e depois disso, envie e atualize os dados do histórico.
helppp eu procuro e encontrei isso:
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "production251" ];
then
GIT_COMMITTER_NAME="Hugo Casanova";
GIT_AUTHOR_NAME="Hugo Casanova";
GIT_COMMITTER_EMAIL="hugo.casanova.ibusplus.com";
GIT_AUTHOR_EMAIL="hugo.casanova.ibusplus.com";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
git filter-branch --env-filter '
oldname="(old name)"
oldemail="(old email)"
newname="(new name)"
newemail="(new email)"
[ "$GIT_AUTHOR_EMAIL" = "$oldemail" ] && GIT_AUTHOR_EMAIL="$newemail"
[ "$GIT_COMMITTER_EMAIL" = "$oldemail" ] && GIT_COMMITTER_EMAIL="$newemail"
[ "$GIT_AUTHOR_NAME" = "$oldname" ] && GIT_AUTHOR_NAME="$newname"
[ "$GIT_COMMITTER_NAME" = "$oldname" ] && GIT_COMMITTER_NAME="$newname"
' HEAD
mas ... depois disso: write: git log --pretty = format: "% an" | sort -u e o nome da produção251 mostram ..
eu encontrei um novo código:
git filter-branch --force --env-filter 'if ["$ GIT_COMMITTER_NAME" = dmiguel "]; depois GIT_COMMITTER_NAME =" Diana Miguel "; GIT_COMMITTER_EMAIL =" [email protected] "; GIT_AUTHOR_NAME =" Diana Miguel " ; GIT_AUTHOR_EMAIL = "[email protected]"; fi '- --all
isto está bem? ou não? depois de colocar esse código no terminal (ubuntu), precisa de algum código adicional ?, push ou algo assim?