有時候難免會手殘,不小心使用錯的使用者名稱簽入,這時候怎麼辦呢? 最後我找到了[答案](https://stackoverflow.com/a/73857920/22318353) 大概是這樣: 1. 先變更使用者名稱跟信箱,避免之後還是錯 ```cmd git config --local user.name "FirstName LastName" git config --local user.email first.last@example.com ``` 2. 修改最後的6次提交(次數自己改) ```cmd git rebase --onto HEAD~6 --exec "git commit --amend --reset-author --no-edit" HEAD~6 ``` 或者,修改所有紀錄 ```cmd git rebase --root --exec "git commit --amend --reset-author --no-edit" --root ``` 也許,想要修改Email為"aa@bb.cc"的commit? **(要在bash或Git For Windows執行)** ```cmd git filter-branch --env-filter ' if [ "$GIT_COMMITTER_EMAIL" = "原始的email地址" ] then export GIT_COMMITTER_EMAIL="aaa@bb.cc" fi if [ "$GIT_AUTHOR_EMAIL" = "原始的email地址" ] then export GIT_AUTHOR_EMAIL="aaa@bb.cc" fi ' --tag-name-filter cat -- --branches --tags ``` 3. 最後,將commit強制推送到遠端(如果還沒推送可以省略) ```cmd git push --force-with-lease ```