The ideas in the first reply were good ones and you can use others alongside such as teaching him to play with a particular toy with you at home. Get him to the point where he loves this toy and loves playing with it with you. Only let him have this toy when you are playing with him then take it away and only play on your terms, not his.
When you go to pass another dog, he acts aggressively because he has learnt for whatever reason that other dogs are bad news and they need to be driven away. Shouting at him, yanking his lead and all that only reinforces his belief that the other dogs are bad news and need to be driven away and his behaviour would get worse. Maybe his previous owner did this which is why he does it with you.
What you need to do is change his perception about other dogs by making the act of passing them a pleasant experience rather than a negative one. Destracting him with his toy you taught him to love is a good thing to do. He'll keep his eyes on that and you can encourage him to want to play with it as he passes the other dog. If he likes playing with his toy enough, chances are, he won't even notice the other dog because he'll be too intent on his toy. Once he has passed the other dog without trouble, you must praise him and tell him how good he is and let him have a game with his toy. If he pulls at the other dog, don't yank the lead back or shout or tell him off in any way. Remain calm and just keep a firm hold on his lead and don't use anything like a choke chain that may cause pain if he pulls. Again, this can make him blame the other dog because the pain only happens when they come along and he pulls to get at them.
As for the general pulling, when you leave to go for a walk, make sure you go through the door and gate first. Don't ask him to sit and wait to let you through first, he should just stand back and let you go first and you can teach him this by slamming the door or gate shut if he tries charging through first...being careful not to trap his nose mind. After a few repetitions, he'll get the message that you go through first.
Once on the street, only move forward whilst he is at heal. If he goes to pull, STOP!!! Make him come back to heal and once he's there, resume walking and stop again if he goes to pull.
Dogs pull because they think this is what keeps you moving forward. If you teach him that pulling makes you stop and that walking to heal is what makes you move foreward, he'll start walking beside you. It can take a little time and patience but I always prefer for the dog to actually be trained not to pull rather than forced not to pull by using gadgets and such because if you took those gadgets away, they'd pull again because they haven't effectively been trained not to pull.
Asserting your dominance and making sure he knows he is the underdog is another thing you need to look at. In the end, a subordinate would not think he should be walking in front. It is the alphas that lead.
Bookmarks