Git Revert Commit Without Losing Changes