On Wed, Mar 11, 2020 at 11:25 AM Jeff King <peff@xxxxxxxx> wrote: > > The current behavior seems to be working as designed, but not as > > desired. The first push command pushes *all* branches under > > `refs/heads/*`, instead of just the current branch as it normally > > would via `push.default` setting. It sort of feels like if a resolved, > > explicitly defined `push.<remote>.push` config is found *and* it > > includes wildcards, the `push.default` setting should still be > > respected. > > Then when would remote.*.push with a wildcard ever do anything? Maybe this is where a potential disconnect is, but I've always viewed the wildcard refspec as a mapping, rather than an all-inclusive "Push all the things". In other words, I view it as more of a structural guide than a behavioral one. I recognize I probably have this wrong, but it probably speaks to how some users view it, or at least, some valid use cases to have more of a structural mechanism to map branches to remote repositories, with `git push --all` being a supplement to say "Push all branches using this mapping".