First off, breathe.
Second, I am/have been a yeller too. I realize this is a CHOICE. You can't blame anyone, especially a young child because you are yelling. Yes, they know how to push our buttons. But we are the adults here.
Third, instead of yelling SHUT UP. Don't talk to her. Don't look at her. Ignore her if she's being rude, simply tell her, "Be nice. No yelling/hitting Mommy."
Finally, you need to do things to plan for her tantrums and time-consuming toddler behavior. Yes, she's independent. Instead of fighting it, help her to be successful! Lay out clothes the night before and DO NOT let her change it the next day. That will help her to get dressed and done.
It sounds to me like she's tired and tantrumming. I understand kids wake up early, but if she's been up since 4:45am then something's going on.
What time does she go to bed? Is she eating well? Sleeping well otherwise? Getting enough sleep? Taking a nap?
As I started telling you, I am/have been a yeller. I am taking control of that. I give my grade school aged kids warnings of consequences for their behavior instead of yelling. And with my little toddler, I have been rarely yelling. Even when I'm being hit, kicked at during a diaper change, etc. I WILL walk away, I will hold hitting hands and feet until they are still or I will put him in his room to calm down and ask him to apologize before coming out.
Yelling is a CHOICE. Be the adult and stay calm. Do not put energy into bad behavior. Keep your voice low, to an almost whisper, and let her know she's being "not nice". You can do this!!!