Git如何编辑提交消息并保留旧的提交日期

sli*_*ier 1 git bitbucket

我只是将我的项目从svn导入到git

所以我打算对我的提交历史做一些清理工作

假设我有这种提交历史(都已被推送)

Commit   Message                                 Date  
..
ffa7e08  change error message on isfileuploade.. 2012-06-04

85a467f  change error message on extension..    2012-05-24

49f3a89  add exit(), on execute() method ..     2012-05-09

af68b2b  add method getFileName                2012-05-04
..
Run Code Online (Sandbox Code Playgroud)

如何在49f3a89不更改日期的情况下更改提交消息?

如果我这样做git rebase -i af68b2b,我成功地更改了提交消息,显然它也是旧的提交日期.

有办法解决这个问题吗?

sli*_*ier 5

从这个stackoverflow回答:

git filter-branch --env-filter 'GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE; export GIT_COMMITTER_DATE'
Run Code Online (Sandbox Code Playgroud)

......确实解决了我的问题.