The branch will NOT be a history of how it was actually programmed.
I'm not sure how to reconcile it with the idea of having a branch for each feature. In my head, developing a feature on a branch creates a history of how the feature was programmed. Could you elaborate on that?