change git log order,add status type "Rename".

Can we share more of the base class where possible? Like `__init__` and the first part of `commit`?