Git Revert Commit Without Losing Generality