老哥们,git有办法回退指定的commit吗?

例子:我一次push里面有3个commit
今天的commit有1个 2个月前的commit 有两个
我全push了,结果2个月前的两个commit不是我想要的,但是到了git上,提交记录是按找commit时间来排序的,回退版本因为只能按照commit记录来回退,我如果要回退,那这两个月期间的其他代码也会被全回退掉 这有解决办法吗

参考如下:

IDEA里的git工具里有一个mixed模式的reset,他可以在不改变已提交代码的基础上把commit回滚,回滚完强制提交就好,但是这样做比较危险的是不会留下提交记录,一旦弄错了,代码可就真的没了