2014-09-19 6 views
1

Как я могу изменить имя и адрес электронной почты для всей моей истории коммитов но и специфического commiter ..мерзавца изменить всю историю названий Коммиттера и адрес электронной почты для конкретного коммиттеру

что-то подобное, Foreach allcommits если committer_name = «Hugo Casa " изменение: committer_name committer_email author_name author_email

и после того, как это сделать, толчок и обновить данные истории.

пожалуйста helppp я искать и нашел это:

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 "[email protected]"; 
     else 
       git commit-tree "[email protected]"; 
     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 

, но ... после этого: записи: мерзавец войти --pretty = формат: "%" | сортировать -u и название production251 шоу ..

я нашел новый код:

мерзавец фильтр-филиал --force --env-фильтр " если [ "$ GIT_COMMITTER_NAME"= dmiguel»]; затем GIT_COMMITTER_NAME = "Diana Miguel"; GIT_COMMITTER_EMAIL = "[email protected]"; GIT_AUTHOR_NAME = "Diana Miguel"; GIT_AUTHOR_EMAIL = "[email protected]"; ц»- - -все

это хорошо? или нет? после этого этот код на тер minal (ubuntu), нужен какой-то код adittional?, push или что-то еще?

ответ

1

Вы теряете значения, которые вы установили для GIT_COMMITTER_NAME, а другие - между ними, когда вы их устанавливаете, и когда вы выполняете git commit-tree. Вам либо нужно сделать все в одной командной строке, либо использовать export перед ними.

+0

что такое полный код для этого случая? пожалуйста помоги! –

+0

Я нашел новый код: –