Заменить историю коммитов по электронной почте - PullRequest
0 голосов
/ 09 октября 2019

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

Я нашел этот скрипт , который позволяет мне заменить ошибочные коммиты. Это сработало, но оригинальные ошибочные коммиты все еще там.

Так что теперь вместо 15 ошибочных коммитов в репо 15 ошибочных + 15 правильных фиксаций.

Here's what the history looks like now.

Я сделал что-то не так или есть ещешаг мне не хватает?

1 Ответ

0 голосов
/ 09 октября 2019

Вам нужно будет использовать filter-branch

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "<Old Name>" ];
        then
                GIT_COMMITTER_NAME="<New Name>";
                GIT_AUTHOR_NAME="<New Name>";
                GIT_COMMITTER_EMAIL="<New Email>";
                GIT_AUTHOR_EMAIL="<New Email>";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD `

Если вы являетесь пользователем ONLY , который поддерживает этот репозиторий, вы можете просто обновить все ссылки без проверки старого содержимого

git filter-branch -f --env-filter '
    GIT_AUTHOR_NAME="Newname"
    GIT_AUTHOR_EMAIL="newemail"
    GIT_COMMITTER_NAME="Newname"
    GIT_COMMITTER_EMAIL="newemail"
  ' HEAD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...