On Fri, Jan 24, 2020 at 09:29:53PM +0100, Bert Wesarg wrote: > I'm a little confused, that a push refspec with a wildcard changes the number of branches pushed. I'm confused about which part you're confused about. :) > $ git push --dry-run > To ../bare.git > * [new branch] master -> master > $ git config remote.origin.push 'refs/heads/master*:refs/remotes/origin/master*' > $ git push --dry-run > To ../bare.git > * [new branch] master -> origin/master > * [new branch] master-two -> origin/master-two > > Is this expected behavior? You asked it to push master*, so it did. Is your confusion that you had set push.default to "current"? If there is a refspec (either in the config or specified on the command line), then that takes precedence over push.default. >From git-push(1): When the command line does not specify what to push with <refspec>... arguments or --all, --mirror, --tags options, the command finds the default <refspec> by consulting remote.*.push configuration, and if it is not found, honors push.default configuration to decide what to push (See git-config(1) for the meaning of push.default). If that's not it, can you clarify what you expected to happen? -Peff