出于某些原因,想要修改仓库的git commit的信息,包括commit内容,时间,作者等.

我们首先先创建一个实验环境,如下所示

git init test
cd test
echo "hello world" > readme.md
git add .
git commit -m "add readme.md"
echo "add something" >> readme.md
git add .
git commit -m "update readme.md"
echo "add something" >> readme.md
git add .
git commit -m "update readme.md"

然后使用git log可以打印出commit历史信息,如下图所示

我们的目标是,在所有的commit信息前加一个:dog:的emoji表情,并将Date修改为昨天提交的,Author全部修改misaka9982,邮箱修改为misaka9982@lris.net.

按照如下方法,即可实现将某次commit修改为上述结果

git commit --date=“Mon Mar 1 08:55:05 2020 +0800” --author=“misaka9982 misaka9982@lris.net
git commit --date=“Mon Mar 1 20:35:05 2020 +0800” --author=“misaka9982 misaka9982@lris.net
git commit --date=“Mon Mar 1 20:36:43 2020 +0800” --amend
git add . && git commit --date=“Mon Mar 3 11:43:23 2020 +0800”
git add . && git commit --date=“Mon Mar 5 11:15:05 2020 +0800”
git add . && git commit --date=“Mon Mar 7 10:25:35 2020 +0800”
git add . && git commit --date=“Mon Mar 10 15:32:25 2020 +0800”
GIT_COMMITTER_DATE=“2020-03-01T09:51:07” git commit --amend --date=“2020-03-01T09:51:07” && git rebase --continue
GIT_COMMITTER_DATE=“2020-03-04T11:41:17” git commit --amend --date=“2020-03-04T11:41:17” && git rebase --continue


我很好奇