If one wants to always fetch all except one remote branch, one cannot just blacklist it, but must instead whitelist all the rest. $ git branch -rd origin/man origin/html Deleted remote branch origin/man. Deleted remote branch origin/html. Plus I edited them out of FETCH_HEAD. Nonetheless, back from the dead: $ git pull >From git://git.kernel.org/pub/scm/git/git * [new branch] html -> origin/html * [new branch] man -> origin/man The only solution is to change .git/config: [remote "origin"] url = git://git.kernel.org/pub/scm/git/git.git # fetch = +refs/heads/*:refs/remotes/origin/* fetch = +refs/heads/maint:refs/remotes/origin/maint fetch = +refs/heads/master:refs/remotes/origin/master fetch = +refs/heads/next:refs/remotes/origin/next fetch = +refs/heads/pu:refs/remotes/origin/pu fetch = +refs/heads/todo:refs/remotes/origin/todo (Such explicit whitelisting will also sacrifice automatic addition or even notification, if desired, of future new branches too.) There is a remote.<name>.skipDefaultUpdate variable, but it probably isn't fine grained enough. -- 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