A.D.
One comment we almost always get about our daughter is how well-behaved she is, and that she doesn't suffer "the terrible twos". I'll share with you how we operate:
The most important thing we can do as parents is to be *annoyingly* CONSISTENT. It's really important for us, as parents, not to be lazy and to just call out warning after warning, or to call out to our kids not to do stuff. Kids thrive by learning through repetition. If we are not consistent, they get confused, don't know where the lines are, test the boundaries like crazy, etc. When there is a routine about EVERYTHING (not just for sleep, but for meals, discipline, putting on their shoes, etc), kids pick up the guidelines very quickly and clearly.
And yes, kids get angrier when they are disciplined, but that's just something you accept and just go about the time-out routine. Our daughter almost never goes to time-out without putting up a fight. But you don't react, because if you do, they learn that this behavior is what gets a reaction.
So this is what we do, and it works like clockwork:
If she hits, she never gets a warning - she goes straight to time-out. If she hits, I tell her, "No hitting. Because you hit, you go to time-out". I very calmly take her to her time-out place. I don't yell, I don't sound angry, I just tell her in a non-emotional tone that she is going to time out because she hit. We put her in a chair, facing a corner where she has absolutely no distractions, and then leave for two minutes (she's 25 months of age as of the 16th). At the end of two minutes, we kneel down to where we are eye to eye with her. We ask her, "Why did Mommy/Daddy put you in time-out?" Sometimes she'll answer correctly, other times we coach her ("Mommy put you in time out because you hit."). Then we say, "No hitting. If you hit, you go to time-out. Can you say no hitting?" She says no hitting. I then ask her to apologize. She says I'm sorry, and then I tell her, "Thank you, I love you. Remember, no hitting" give her hugs and kisses and let her go back to playing.
This definitely works, because there have been times where I see her raise her hand to hit, and she pulls back because she makes the mental connection in her head.
She almost never hits, and has never, ever hit another child, but she has hit me a couple times. So if she were to hit another child, I would just change the routine by telling her "now you have to go say I'm Sorry to [name]." Hold her hand, walk her over, coach her through apologizing. Once she did it, I'd tell her "Good girl! Thank you for apologizing" and remind her of no hitting, and then tell her I love her, give her a hug, and to have fun and go play.
Hope it helps. Works like a charm with us. She's a very well-behaved girl.