我在 Git 中进行了一系列提交,现在我意识到我忘记正确设置我的用户名和用户电子邮件属性(新机器)。我还没有将这些提交推送到我的存储库,那么在我这样做之前如何更正这些提交(只有 master 分支上的 3 个最新提交)?
我一直在看git reset
和 git commit -C <id> --reset-author
,但我不认为我走在正确的轨道上。
最佳答案
警告:现在 deprecated赞成filter-repo .
当你拥有 filter-branch 的强大功能时,Rebase/amend 似乎效率低下:
git filter-branch --env-filter 'if [ "$GIT_AUTHOR_EMAIL" = "incorrect@email" ]; then
GIT_AUTHOR_EMAIL=correct@email;
GIT_AUTHOR_NAME="Correct Name";
GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL;
GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; fi' -- --all
(为清楚起见,跨行拆分,但不是必需的)
一定要在完成后检查结果,以确保您没有更改任何您不想更改的内容!
关于git - 如何修改 Git 中的多个提交以更改作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4981126/