作者信息相关

配置作者信息(user config)

仅仅配置当前repo

git config user.name "UserName"
git config user.email "some@site.com"

全局生效的配置

git config --global user.name "UserName"
git config --global user.email "some@site.com"

修改所有历史commit的作者信息

非常危险!!!

如果只修改最近一条commit的作者信息, 可以使用git commit --amend --reset-author, 然后 git push -f

来源于StackOverflow

git filter-branch --env-filter '
OLD_EMAIL="<YOUR_OLD_EMAIL_CONFIG>"
CORRECT_NAME="<YOUR_NEW_NAME_CONFIG>"
CORRECT_EMAIL="<YOUR_NEW_EMAIL_CONFIG>"
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