提交历史仅在一天内出现

时间:2019-03-29 09:31:01

标签: git github

我有一个本地存储库,必须更改最近的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's help center上找到的脚本:

#!/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 个答案:

答案 0 :(得分:1)

Git提交包含(除其他信息外)两个日期:作者日期和提交者日期。创建提交时,两者的值相同。如果您修改提交,则提交者日期会更改。 Github使用提交者日期,这就是为什么您修改的所有提交都在您修改它们的日期显示的原因。