這幾天因為之前沒有注意到作者欄沒有設定好,結果留了一些不正確的作者名稱到 repository 的 commit 裡。
在 Github 的 Changing author info 說明中有提到,可以使用下面這個 script 來修改 commit 中的欄位。
但是沒有講到如果遠端的 repository 有設定了 tracking branch 到被修改影響到的 branch 上的話要怎麼辦,然後我不小心就踩到了,多了幾個內含有之前寫錯了作者的 commit 的支線出來。
模索半天之後,有點苦的做了 git rebase -i 最早的沒問題的版本
把有錯的 commit 都刪掉後,重新 git push --force --tags origin 'refs/heads/*'
到污染到的遠端檔案庫上,還好數量不多。
然後,有追蹤被修改分支的其他檔案庫要執行 git fetch
跟 git checkout -B master
(假設 tracking branch 是 master) 來更新本地端的檔案庫。這邊的 -B
是建立或更新 branch 的意思,單純 -b
的話就只能建立,在這邊需要更新,因此要使用 -B
選項。