Git, переписать имена пользователей и электронные письма предыдущих коммитов

Решил эту проблему, увеличив версию версии на 1 вместо под-версии. то есть от 1,0 до 2,0 вместо 1,0-1,1

128
задан JP Silvashy 27 May 2010 в 09:22
поделиться

2 ответа

Решение уже есть: Изменение имени автора и коммиттера и e-mail нескольких коммитов в Git

А именно,

git filter-branch -f --env-filter \
"GIT_AUTHOR_NAME='Newname'; GIT_AUTHOR_EMAIL='newemail'; \
GIT_COMMITTER_NAME='committed-name'; GIT_COMMITTER_EMAIL='committed-email';" HEAD
86
ответ дан 23 November 2019 в 23:53
поделиться

Если вы уже переместили некоторые из своих коммитов в публичный репозиторий, вам не стоит этого делать, иначе получится альтернативная версия истории мастера, которую могли использовать другие. "Не пересекайте ручьи... Это будет плохо..."

Тем не менее, если речь идёт только о коммитах, внесённых вами в локальный репозиторий, то, конечно, исправьте их перед тем, как выкладывать на сервер. Вы можете использовать команду git filter-branch с опцией --commit-filter, чтобы она редактировала только те коммиты, которые соответствуют вашей неверной информации, например, так:

git filter-branch --commit-filter '
      if [ "$GIT_AUTHOR_EMAIL" = "wrong_email@wrong_host.local" ];
      then
              GIT_AUTHOR_NAME="Your Name Here (In Lights)";
              GIT_AUTHOR_EMAIL="correct_email@correct_host.com";
              git commit-tree "$@";
      else
              git commit-tree "$@";
      fi' HEAD
35
ответ дан 23 November 2019 в 23:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: