我有自己的存储库。我想做的是改变历史。我想更改每次提交的日期。有可能,如果是 - 怎么样? 我在谷歌搜索,但我没有找到答案。
P.s:我的存储库位于BitBucket中,我使用的是git core。
答案 0 :(得分:1)
请注意,您需要设置两个日期:
GIT_AUTHOR_DATE
GIT_COMMITTER_DATE
他们都遵循相同的date format
与此blog post一样,重置某个特定SHA1上的日期将是(使用git filter-branch
):
git filter-branch --env-filter \
"if test \$GIT_COMMIT = 'e6dbcffca68e4b51887ef660e2389052193ba4f4'
then
export GIT_AUTHOR_DATE='Sat, 14 Dec 2013 12:40:00 +0000'
export GIT_COMMITTER_DATE='Sat, 14 Dec 2013 12:40:00 +0000'
fi" && rm -fr "$(git rev-parse --git-dir)/refs/original/"
将提交命运重置为作者日期would be:
git filter-branch --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"'
更改历史记录后,您必须执行git push --force
,如果其他人克隆了您的上游回购,则可能会出现问题。