讓一隻大貓咪在打字機上隨機地按鍵,當按鍵時間達到無窮時,幾乎必然能夠打出任何給定的文字,比如你看到的這個網誌。

使用 git-filter-repo 批次重寫提交歷史

提到重寫 Git 提交Commit歷史,一般反應都是使用 git-filter-branch。不過現在有更快、更方便的新工具:git-filter-repo

開始前,要注意的是:工具會清除所有的 stash,所以務必先做好備份。

使用 git-filter-repo 修改提交的用戶名和電郵地址需要先準備一個 mailmap 檔案:

New Name <[email protected]> <[email protected]>
....

然後在儲存庫內執行:

git filter-repo --mailmap /path/to/mailmap

工具可能會抱怨儲存庫不是全新的。沒關係,加上 --force 就可以了。
等待工具提示完成,作者用戶名和電郵地址就全部被替換了。
實際使用中,即使是較小規模的儲存庫,git-filter-repo 也比 git-filter-branch 快了不止一點。

添加新评论