Problem is, your dog is taking you for a walk. You obey him. You follow him. Change this.
Take your dog for a walk. Keep the leash short. As you're walking, abruptly change direction. Do this many times walking North/South, North/South. Do this in a four foot area or less. This confuses the dog, he may become frustrated but! if you do this for about 15 minutes, the dog will learn to walk by your side or a bit behind because now you control the walk. When you see some issues will arise during your walk, change direction sharply.
Originally I used a choke collar when she pulled. After that training exercise I changed to a Martingale collar. I'm always on a look-out when walking her just in case another dog shows up. Best thing, she no longer pulls. She's a GSD.
Good luck!
Take your dog for a walk. Keep the leash short. As you’re walking, abruptly change direction. Do this many times walking North/South, North/South. Do this in a four foot area or less. This confuses the dog, he may become frustrated but! if you do this for about 15 minutes, the dog will learn to walk by your side or a bit behind because now you control the walk. When you see some issues will arise during your walk, change direction sharply.
+++++++++++++++++++++++++++++++
I used this method on three of my rottweilers, over 30 years. It is magic. Go left or right suddenly, randomly. Short leash. The idea is to get the dog to follow your footsteps. It works, and it works quickly.
Start from dog sitting at your side. First step, lead with right foot. Slap left thigh and walk. Repeat, and this signals dog to start walking. Then work on having dog stop and sit when you stop. I am not a pro on this one (as family members fail to do it, and I can’t train them..) so can’t give good advice... Maybe someone else can.