Если бы системы управления версиями были странами
Что ни говори, а из всех систем управления версиями документов git — самый русский по духу. Где еще можно с такой легкостью переписывать историю? Берешь, интерактивно перебазируешься [по времени] (rebase --interactive), события перемещаешь туда-сюда, этим историческую справку переписываешь (reword), тех сливаешь с предшественниками (squash), кого с сохранением следов, а кого вообще без следа (fixup), и даешь машине времени поработать. После этого получается отрубленная голова (detached HEAD), которую надо с силой пихнуть (push --force), и готово.