У меня есть локальный репозиторий, в который мне пришлось внести изменения в последние 57 коммитов, чтобы сменить автора (исправить мой адрес электронной почты). Я сделал это так:
// mark commits as 'edit'
git commit --amend --author="My Name <current@email.com>"
git rebase --continue
Затем я принудительно отправил его в хранилище Github. При посещении вкладки «Коммиты» все исправленные коммиты отображаются за один день (день, когда я нажал):
Commits on Mar 28, 2019
fix endianess when reading chunk id
xxxxxx committed on 26 Jan
остальные из них, в которые не были внесены изменения, появляются в свой собственный и правильный день:
Commits on Apr 23, 2018
ignore packet mocks
xxxxxx committed on 23 Apr 2018
Я забыл изменить что-нибудь еще? Есть ли способ это исправить?
Редактировать: чтобы исправить эту ситуацию, я изменил скрипт, который нашел в Справочном центре Github :
#!/bin/sh
git filter-branch --env-filter '
export GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
export GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
' --tag-name-filter cat -- --branches --tags
А потом, как говорится, сделал:
git push --force --tags origin 'refs/heads/*'