提问人:jiangxiaopeng 提问时间:11/16/2023 更新时间:11/16/2023 访问量:18
git 修改历史提交记录
git Modify historical submission records
问:
我想实现以下目标
- 修改电子邮件地址。历史提交的电子邮件地址是 [email protected],历史提交的电子邮件地址是 [email protected]。
- 增加时间范围。我只想修改日期 2021-12-22 之后的记录。
我尝试了这个脚本,但它没有达到指定的时间范围过滤功能
git filter-branch -f --env-filter '
OLD_EMAIL="[email protected]"
CORRECT_NAME="jiangyangang"
CORRECT_EMAIL="[email protected]"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL"] && [ `git show -s --format="%ct" $GIT_COMMITTER_DATE` -gt $(date -d "2021-12-22" +%s) ];
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] && [ `git show -s --format="%ct" $GIT_COMMIT` -gt $(date -d "2021-12-22" +%s) ];
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
期待您的回复,谢谢
答: 暂无答案
评论
.mailmap
--after
--since
--after
/--since
是 rev-list 选项,受 支持,与 rev-list 选项相同。filter-branch
--all