2015-10-02 22 views

risposta

4

Grazie a @sergej e GitHub, ho ricevuto informazioni committer rimosso con

git filter-branch --env-filter ' 
if [ "$GIT_COMMITTER_EMAIL" != "$GIT_AUTHOR_EMAIL" ]; then 
    export GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME" 
    export GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL" 
    export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE" 
fi 
' --tag-name-filter cat -- --branches --tags 
2

È necessario riscrivere l'intera cronologia del repository Git.

GitHub ha uno script che lo fa, vedere Changing author info.

Dovrebbe essere semplice da adottare alle proprie esigenze:

#!/bin/sh 

git filter-branch --env-filter ' 

OLD_EMAIL="[email protected]" 
CORRECT_NAME="Your Correct Name" 
CORRECT_EMAIL="[email protected]" 

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 
+0

Grazie. Comprendo correttamente che se 'GIT_COMMITTER_NAME' ecc corrisponde a' GIT_AUTHOR_NAME' ecc., Verrà considerato rimosso? – Andrei

+0

Sì, appena testato, sembra essere il caso – Andrei