DevsDawn
DevsDawn

git修改已提交记录的邮箱和作者名

修改指定提交之前

git rebase -r <some commit before all of your bad commits> \
    --exec 'git commit --amend --no-edit --reset-author'

修改指定邮箱的提交

git filter-branch --env-filter '
OLD_EMAIL="[email protected]"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="[email protected]"
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

修改所有提交(包括第一次提交)

git filter-branch -f --env-filter "
    GIT_AUTHOR_NAME='Newname'
    GIT_AUTHOR_EMAIL='new@email'
    GIT_COMMITTER_NAME='Newname'
    GIT_COMMITTER_EMAIL='new@email'
  " HEAD
若无特别说明,本文采用 CC BY-SA 4.0 协议进行许可。如需转载,请附上本文链接和本声明。
本文链接:https://devsdawn.com/2022/03/git%e4%bf%ae%e6%94%b9%e5%b7%b2%e6%8f%90%e4%ba%a4%e8%ae%b0%e5%bd%95%e7%9a%84%e9%82%ae%e7%ae%b1%e5%92%8c%e4%bd%9c%e8%80%85%e5%90%8d/
DigitalOcean云服务,NYSE上市公司,注册即送200USD体验金
Vultr云服务,全球25+地域,注册即送100USD体验金

发表回复

textsms
account_circle
email

DevsDawn

git修改已提交记录的邮箱和作者名
修改指定提交之前 git rebase -r <some commit before all of your bad commits> \ --exec 'git commit --amend --no-edit --reset-author' 修改指定邮箱的提交 git filter…
扫描二维码继续阅读
2022-03-25