(Actually in order to keep the commit history clean, I continue rewriting commit history and doing `git push -f`,
actually I wonder if you might consider to maintain another clean repository. So there is a raw repository to record every real history, and a clean repositiory to for better reading? Because sometimes the raw history could be interesting too.