I learned this from a BYC member who also happens to be an excellent dog trainer. I don't think she'll mind if I repeat her instructions here. It's worked excellent for us. I hope I don't mangle her instructions too bad.
We had a problem with Jax going crazy and forgetting all of his training and commands whenever my DSDs and the GS would come for a visit. They are his favorite beings. He would be jumping around like crazy and barking; though it is his happy bark; not his danger bark.
Start by downing him at your feet for 45 minutes a night. Put him on leash and don't let him get up for those 45 minutes. Reinforce the command and correct him if he tries to get up. No treats for this and not listening is not an option. Jax is put on the leash each night in the house, usually when we are sitting watching TV or in the evenings when I am cooking and waiting for DH to get home. If I have to get up for something I take his leash, have him walk to the kitchen with me and tell him to down again. (We actually use a different word, but only because we have taught Jax his commands in german, but that doesn't matter). Down him before you open the car door to let him get in, before he eats, before he goes out to potty, before you put the leash on for something, randomly while out on walks, anytime you think about it.
Get the dog used to going into the down position. Then when you are expecting visitors, put the leash on and have the dog down by you. If he forgets, we grab the leash close to the collar, tug and tell him down again. Laying down is a more stable position for the dog to be in then just sitting. They can't jump on someone from a laying down position as quick as they can while sitting.
Now all we have to do is say "platz!" (down) and Jax goes automatically into the laying down position.
For the barking/growling, try using a quick snap of the leash with a command "quiet!" or "enough". If that alone doesn't stop it, try the snap combined with a shake can and the command. You can make a shake can by partially filling a soda can with pebbles or pennies and then wrapping it completely in duct tape. If that still doesn't work, try a pop on the head with the shake can, GSDs have hard heads, so no harm done and the command.
There is nothing a german shepherd can't learn. When Jax learned words we didn't necessarily want him to hear - like bye-bye and cookie - we started spelling the words. Now he knows how to spell them.
Super intelligent dogs.
By the way, I used the pronoun "he" even though I know you said your dog is female; otherwise I'd confuse myself.