Rollback - Revert or Reset

What’s the best way to undo changes? Revert or Reset? Suppose I have an error on the live system. I could do a “git revert head” on the developer server (DEV) and comitten it back to live? Is this a good way?

I’m afraid there are too many factors that come into play here.
How was the commit made that caused this error?
Was there a rebase?
Is this something that actually happened or may potentially happen?
We would need specific details around what caused the “error”.

You may be able to use git revert HEAD [previous commit sha]