If I don't specify any value for url.<base>.insteadOf or url.<base>.pushInsteadOf, Git substitutes all urls for remotes defined in .git/config Probably that's because any url starts with empty string and thus has to be substituted. But it might be a bit confusing, because on the other hand if no value is given to the property insteadOf, user may expect this property to be ignored. Please check if current Git behavior is correct. If it is not a bug, I'd suggest to add a note to man git-config about this. # git version git version 1.7.6 # cat .git/config [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = github.com/klikh/Test.git pushUrl = jetbrains.com/klikh/Test.git [url "http://"] insteadOf= # git remote -v origin http://github.com/klikh/Test.git (fetch) origin http://jetbrains.com/klikh/Test.git (push) ---------------------------------- Kirill Likhodedov JetBrains, Inc http://www.jetbrains.com "Develop with pleasure!" -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html