noyobo / noyobo.github.com

Hahahaaaaa
http://noyobo.com
0 stars 6 forks source link

如何修改已提交 git commit 邮箱/作者信息 #5

Open noyobo opened 7 years ago

noyobo commented 7 years ago

1. 创建 git-m.sh 脚本

cd ~
touch git-m.sh
chmod +x git-m.sh

git-m.sh 脚本内容如下

#!/bin/sh

git filter-branch --force --env-filter '
OLD_EMAIL=$OLD_EMAIL
CORRECT_NAME=$GIT_NAME
CORRECT_EMAIL=$GIT_EMAIL
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

2. 指定环境变量并调用

cd your_repository
OLD_EMAIL=old_mail@gmail.com GIT_NAME=new_name GIT_EMAIL=new_mail@gmail.com ~/git-m.sh
noyobo commented 7 years ago

OLD_EMAIL=xxx GIT_NAME=yyy GIT_EMAIL=zzz curl https://gist.githubusercontent.com/noyobo/782a52c9b3c56bdcf7239cfd1442cbc2/raw/c96f14d9e4472b5b0055189dee7f96294ea993ef/git-m.sh | sh