On Wed, Mar 11, 2020 at 11:56 AM Robert Dailey <rcdailey.lists@xxxxxxxxx> wrote: > > 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". Also, apologies, I forgot to include a response to your first reply to my OP: I think `branch.*.pushRef` in this case is not enough. It implies that for every branch I want to be mapped in this way, I'd have to manually specify this config. Rather, I think a `remote.*.pushRef` would be more appropriate, so that it would automatically set the `branch.*.pushRef` version as needed, so I only set up the mapping once. It could also be I don't fully understand your recommendation, so apologies of that's the case.