I got some commits in my repository:
like:
A - Added Feature A B - Removed Feature B C - Redesigned Feature C D - Added Feature D E - Added Feature
By far the best solution is to use git revert. This will make a new commit that undoes the changes in a specific SHA. This is a very safe way to remove a commit, and can be easily merge with other or remote branches.
How to use Git Revert
git revert