由於工作關係,需要用到Git 工具,但筆者自己的工作平台設定了Git 的用戶電郵為自家電郵。一但需要用自己的工作平台處理公事,一個不小心,就會留下了自家電郵。。然後。。。
如果只是修改最新的Commit 還好,只要用
git commit --amend --author="Author Name <email@address.com>"
修改再Push 就好。但如果已經累積了幾次Commit,就相檔令人苦惱。
向Google 大神查詢了一番,找到了修改多個Commit 的方法,是用 rebase -i
來作修改。
假設 Git Log 有 Commits
A->B->C->D->E (HEAD)
,E 是 HEAD 也就是目前最新的。想要更改 CDE 這三個 Commit 的作者,首先rebase 回到Commit B
git rebase -i B
會出現
pick C pick D pick E
把 pick 改為 edit,
edit C edit D edit E
儲存關閉後就會進入 rebase 流程,會回到Commit C,修改作者名再運行git rebase --continue
至Commit D ,重覆流程至所有Commit 都修改好
git commit --amend --author="Author Name <email@address.com>" git rebase --continue
如果你有哪個Commit 不需要修改,只要不把Pick 改成Edit 就好,Git Rebase 會自動跳過。