My ds1 is 2.1 yrs and has been in that 'terrible 2's'/violent phase for a while.
Generally he is a lovely little boy, but like all, has his moments!
It started off that he was pushing but wasn't actually nasty with it, it was clear he just didn't know it was naughty iyswim. Lately though, it has turned into knowingly hurting others, I think.
Atm, when he pushes or hits, I take him out of the room and sit him in a 'naughty spot' and firmly tell him that he is sitting there because he pushed someone and he mustn't do that blah blah blah, then after a couple of minutes I get him up and tell im again that he should push etc and he has to be nice to the other children, but he carries on. He doesn't care about being taken away from play and sitting on his own.
The other day, we were at play group and he pushed a little girl so I took him out and told him off, then he did it again and again and all the other mum's were looking at me like I was the scum of the earth because I have a 2 yo that pushes
Sorry to waffle on and on, but is there anything else I can try?