История коммитов появляется только за один день - PullRequest
2 голосов
/ 29 марта 2019

У меня есть локальный репозиторий, в который мне пришлось внести изменения в последние 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/*'

1 Ответ

1 голос
/ 29 марта 2019

Git коммиты содержат (среди прочего) 2 даты: дату автора и дату коммиттера.Когда вы создаете коммит, оба имеют одинаковое значение.Если вы измените коммит, дата коммитера будет изменена.Github использует дату коммиттера, поэтому все коммиты, в которые вы внесли изменения, отображаются в день, когда вы их исправили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...